int main(void)
{
u8 m=0;
u16 Buf[240]; /*ADC数据缓冲区*/
int16_t xBuf[240]; /*x坐标*/
int16_t yBuf[240]; /*y坐标*/
int16_t i; /* 有符号数 */
int16_t*px;
int16_t*py;
int16_t iTemp;
px=xBuf;
py=yBuf;
SystemInit();
uart_init(9600);
delay_init(72); //延时初始化
NVIC_Configuration();
LED_Init();
Adc_Init();
LCD_Init();
POINT_COLOR=RED;
while(1)
{
for(m=0;m<240;m++)
{
Buf[m]=Get_Adc(ADC_CH0);
}
for (i = 0; i < 240; i++)
{
px = i;
iTemp =150 + (int16_t)((1862-Buf)/50); // 为什么这句要用这样的式子啊?
if (iTemp > 320)
{
iTemp = 320;
}
else if (iTemp < 20)
{
iTemp = 20;
}
py = iTemp;
}
/* 清除波形 */
LCD_Clear(GREEN);
/* 显示网格 */
_Display_Grid(RED);
/* 显示更新的波形 */
_LCD_DrawPoints(xBuf,yBuf ,240,BLUE);
delay_ms(500);
LED1=!LED1;
}
}
原子哥,上面是AD采集的单路数据动态曲线在2.8寸液晶屏上显示的代码,我怎么也看不懂iTemp =150 + (int16_t)((1862-Buf)/50)这句话是什么意思来着,我试了试在7寸屏上做动态曲线显示结果程序下载后屏幕不显示,我想可能和这句有关,还望帮我解答一下这句话的意思啊。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>