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.
项目把所有AD引脚使用了,请问这个时候SOC0数据有可能不正确那怎么处理?
这个时候SOC1是其他AD采样的值 因为所有的AD各自采集的AD数据不一样
这个你参考例程的做法就可以了,简单来说就是第一次SOC作废,从第二次SOC开始记录采样值,跟采样通道没什么关系。例程里面做法听清楚的:
C:\ti\c2000\C2000Ware_4_01_00_00\device_support\f2803x\examples\c28\adc_soc
我的意思是 16个采样全部用了
Voltage1[ConversionCount] = AdcResult.ADCRESULT1; //discard ADCRESULT0 as part of the workaround to the 1st sample errata for rev0
Voltage2[ConversionCount] = AdcResult.ADCRESULT2
丢弃话 应该是ADCRESULT0和ADCRESULT1采集的同一种数据 可我是所有的外部AD都用了 且测得都是不同类型的模拟值?
ADCRESULT0不能被丢弃吧
额,这样的话可能确实没什么好的办法,文中也提到了:
User application should validate if this workaround is acceptable in their application.
我看到后面还有一句:
The following is applicable to the revision A silicon:
• For 30-MHz operation and below, this is fixed completely by writing a 1 to the ADCNONOVERLAP and CLKDIV2EN bits in the ADCTRL2 register. This will give a 30-MHz ADC clock when the CPU clock = 60 MHz, and will only allow the sampling of ADC channels when the ADC is finished with any pending conversion.
不知道你的芯片是0版还是A版,只能问一下A版本的是否有什么办法解决这个问题,我会升级一下这个问题,还请耐心等待一下回复
芯片勘误表里面TMS320F2803x Piccolo™ MCUs Silicon Errata (Rev. Q) (ti.com.cn) 3 Device Markings中有说明如何确认芯片版本