您好!
我已经有一段时间尝试从 ADC 转换时间溢出中恢复。 我的问题不在于我收到错误、而是尝试从错误中恢复。 我故意将采样率设置为比支持的速率更快、从而强制转换时间溢出标志。 但是、在我得到该误差后、无论采样率设置多么慢、它始终会生成该误差、直到我对电路板进行下电上电。
我已经对其进行了设置、以便 TimerB0馈入 ADC 模块、然后再馈入 DMA 模块。 我怀疑问题是在我收集了我所需的所有样本后、我花了太长的时间来停止计时器、然后触发另一个我强制停止的转换。
我使用以下代码强制停止收集。 我认为这符合用户指南中的建议:
ADC12CTL1 &=~(ADC12CONSEQ_3);//根据用户指南、要停止任何转换、需要清除这3个位
ADC12CTL0 &=~(ADC12ENC);//需要先禁用转换、然后才能更改任何其他位
while (ADC12CTL1和 ADC12BUSY);
ADC12CTL0 &=~(ADC12ON);
TB0CTL &=~MC_3;
我的逻辑或操作顺序是否存在任何明显的缺陷?
谢谢、
Chris