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.

[参考译文] 编译器/TM4C1231D5PZ:不断变化的 ADC 值。

Guru**** 2503445 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/874353/compiler-tm4c1231d5pz-ever-changing-adc-value

器件型号:TM4C1231D5PZ

工具/软件:TI C/C++编译器

您好!

我的问题是不断改变价值、如下图所示。

我作为参考购买的项目链接: https://github.com/ussserrr/maglev-ti-rtos

代码:

empty.cfg

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我怀疑的问题是您将 ADC 设置为执行连续转换,然后在中断例程中调用 ADCSequenceDataGet ()。 假设 ADCSequenceDataGet ()将只读取两个样本。 但是、由于下一次转换已经开始、有可能已经有第三个采样被放入4级 FIFO 中。 ADCSequenceDataGet ()将读取全部三个样本。 在下一个中断上、CH15将是缓冲器中的第一个采样、而 CH7将是第二个采样。  

    一种简单的解决  方案是使用 ADC_TRIGGER_PROCESSORIN 而不是 ADC_TRIGGER_ALETONSE 调用 ADCSequenceConfigure、然后在您读取之前的结果后在中断例程中重新启用 ADC 序列。