meijiaxiang 发表于 2010-8-17 16:07:38

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

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。)



有高手知道原因吗?
页: [1]
查看完整版本: 关于cy8c21534芯片的ADC10模块的校准量程的使用问题