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.

[参考译文] TMS320F28P550SJ:ADC 溢出

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1364139/tms320f28p550sj-adc-overflow

器件型号:TMS320F28P550SJ

您好!

我根据"adc_ex2_soc_epwm"示例创建了一个项目、我将 PWM 频率增加到了200kHz。 我注意到、当我删除下面用于检查溢出的代码部分时、一段时间后、ADC 停止生成中断。 显然、如果一个溢出发生并且相应的标志未被清除、ADC 中断将停止发生。 如何配置 ADC、这样、即使发生溢出、中断也永远不会停止? 因为我的中断率非常高、所以我不想使用这个不断检查溢出的慢速代码。

if (true=ADC_getInterruptOverflowStatus (myADC0_base、ADC_INT_number1))
{
ADC_clearInterruptOverflowStatus (myADC0_base、ADC_INT_number1);
ADC_clearInterruptStatus (myADC0_base、ADC_INT_number1);

阿里

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

    您好、Ari:

    Fullscreen
    1
    ADC_enableContinuousMode(myADC0_BASE, ADC_INT_NUMBER1);
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    这就向 ADCINTSEL1N2寄存器的 INT1CONT 位写入数据。

    此致、
    伊袋

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

    谢谢 Ibukun,现在它工作不需要检查溢出.
    不使用 "用于 ADC 中断的连续模式"有什么好处吗?

    阿里

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

    Ari、

    溢出状态标志的主要功能是帮助确保没有 ADC 转换结果因其他地方的处理而丢失、同时为系统提供机会对丢失的转换做出正确响应。 如果在系统中、您不关心是否错过了转换(例如、由于不同的外设中断占用了处理时间)、那么您可以忽略该标志。 如果错过转换确实会产生后果、则应检查溢出状态并进行处理。

    连续模式只是告诉 ADC 继续发出 CPU 中断、而不管是否发生溢出。 这在某些系统中可能并不可取(例如安全关键型)、但在其他系统中是可以接受的。

    此致、
    伊袋