打印

关于cy8c21534芯片的ADC10模块的校准量程的使用问题

[复制链接]
8266|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huigoushang|  楼主 | 2012-1-31 21:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.使用ADC10模块,为了提高采样率,使用函数ADC10_ical(int iVal, ADC10_CAL_VBG)校准时,在自带的Excel表格中设置full range counts为256,vdd为   2.5V,得到1.3V为133。但是在c语言代码编译完成后,输入一个小于2.5V电压时,从watch窗口看到ADC10_iGetData的值超过256,在300到500多之间跳变。

程序代码:
ADC10_start(ADC10_FULLRANGE);
ADC10_ical(0x84, ADC10_CAL_VBG);
ADC10_startADC();
  
2.上面的代码如果放在循环里,watch窗口看到的ADC10_iGetData值,不论输入多少的电压,只会在500以下跳变(设置中断观察,其中FULL RANGE COUNT设置为1024。)

3.在程序中如果不加入
if(b>ADC10_iGetData()>a)
ADC10_iGetData()的值也是不论输入多少的电压,只会在500以下跳变(设置中断观察,其中FULL RANGE COUNT设置为1024。)



有高手知道原因吗?
沙发
u880| | 2012-1-31 21:52 | 只看该作者
感觉很难啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

168

主题

1677

帖子

1

粉丝