你好,请问我现在在RAM中运行AD程序时,AD正常,ADCREFP和ADCREFM值均正常,也能采回正确的数据,当程序烧在Flash中运行时,ADCREFP和ADCREFM值都不正常,而且采回的数据也不对,请问这是为什么,谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好,请问我现在在RAM中运行AD程序时,AD正常,ADCREFP和ADCREFM值均正常,也能采回正确的数据,当程序烧在Flash中运行时,ADCREFP和ADCREFM值都不正常,而且采回的数据也不对,请问这是为什么,谢谢。
这估计是程序问题。
试一下,用下面例程包中的adc_soc例程,把28335_RAM_lnk.cmd文件换成附件中的F28335.cmd该例程是否能够正常运行。
ADCREFP和ADCREFM的管脚电压都为0,一般是因为ADC 的 reference power down,请确认ADCTRL3寄存器的值。
我们再确认一下您给我的信息:
1、用ADC_SOC例程在RAM中能够正常运行,在FLASH中不能够正常运行。在RAM中运行的时候ADCREFP和ADCREFM的管脚电压都正确。
2、其他的例子程序都能够正常运行,无论RAM还是FALSH。
3、ADC的引脚有给一个变动的输入信号,但是通过ADC_SOC例程得到的结果永远不会变动。
您可以看一下,在FLASH中运行的时候,程序初始化ADC寄存器之后,ADC寄存器的值和在RAM中运行时候的值是一样的。