OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5282|回复: 5

语句不懂

[复制链接]

29

主题

92

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
228
金钱
228
注册时间
2013-5-4
在线时间
0 小时
发表于 2013-9-15 17:21:39 | 显示全部楼层 |阅读模式
 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寸屏上做动态曲线显示结果程序下载后屏幕不显示,我想可能和这句有关,还望帮我解答一下这句话的意思啊。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2013-8-27
在线时间
2 小时
发表于 2013-9-15 20:27:43 | 显示全部楼层
iTemp =150 + (int16_t)((1862-Buf)/50)  
此句应该是计算Y轴的显示位置,和屏幕显示不显示应该没关系,

这个在哪个历程里?光盘里没看到啊?
回复 支持 反对

使用道具 举报

29

主题

92

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
228
金钱
228
注册时间
2013-5-4
在线时间
0 小时
 楼主| 发表于 2013-9-15 21:22:24 | 显示全部楼层
主要是不知道iTemp =150 + (int16_t)((1862-Buf)/50) 中的1862是什么意思,为什么是这个数字。如果我想在800*480的液晶屏上显示动态曲线,我把代码改为如下,结果屏幕就是白屏,不知道为什么
    while(1)
   {
      for(m=0;m<800;m++)
      {
     Buf[m]=Get_Adc(ADC_CH0);
  }
     for (i = 0; i < 800; i++)
  {
px = i;
iTemp =230 + (int16_t)((1862-Buf)/50);  //这一句话不知道为什么这样写啊

if (iTemp > 480)
{
iTemp = 480;
}
else if (iTemp < 20)
{
iTemp = 20;
}
py = iTemp;
  }

    /* 清除波形 */
    LCD_Clear(GREEN);
/*  显示网格 */
//    _Display_Grid(RED);
/* 显示更新的波形 */
     _LCD_DrawPoints(xBuf,yBuf ,240,BLUE);
delay_ms(1000);
LED1=!LED1;
回复 支持 反对

使用道具 举报

29

主题

92

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
228
金钱
228
注册时间
2013-5-4
在线时间
0 小时
 楼主| 发表于 2013-9-15 21:23:55 | 显示全部楼层
回复【3楼】lixulongren:
---------------------------------
_LCD_DrawPoints(xBuf,yBuf ,800,BLUE); 这一句忘改了 改过后还是不行
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-9-15 22:34:04 | 显示全部楼层
Buf的值来自ADC采样,1862-Buf,应该是做电平便宜,具体还是要结合硬件和实际效果看代码,否则不好猜测。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

甘豆芽 该用户已被删除
发表于 2017-4-3 19:53:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-22 10:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表