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.

[参考译文] LAUNCHXL-F28379D:有关 ADC 中断的问题

Guru**** 2534260 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/605764/launchxl-f28379d-questions-about-adc-interrupt

器件型号:LAUNCHXL-F28379D

我将查看示例 ADC_SoC_ePWM_cpu01.c  

我对中断感到困惑。 在该示例中、它调用 ADCA1中断来读取 A0引脚的结果。

因此、我想知道 ADCA1中断是否也可用于读取其他引脚(即 ADCINC3)的结果。 此外、我是否可以使用 ADCB1、ADCC1或 ADCD1中断来读取引脚 A0?  

首先、我认为中断 ISR 名称必须与 ADC 名称匹配、但似乎 ADCx1与优先级很重要。  

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

    每个 ADC 有4个中断:1到4个。 这些中断只能由相应的 ADC 触发(例如、中断 ADCA1只能由 ADCA 触发)。 但是、ADC 输入通道 A1和 ADC A 中断1之间没有相关性。 任何 ADCA SOC 都可以触发要设置的 int 标志1 (例如、ADCA 上的 SOC12可以触发 ADC 中断标志1、ADCA 上的 SOC1可以触发 ADC 中断标志4)。 任何 SOC 都可以采样并连接到该 ADC 的通道(例如、ADCA SOC0可以采样 ADCINA3输入)。

    对于您在给定 ISR 中读取的样本、即使是从不同的 ADC 读取的样本也没有限制(您只需确保样本已准备就绪)。 例如、如果在所有4个 ADC 上使用 SOC0、所有 ADC 都是由同一 ePWM 事件触发的、则无需4个 ISR 即可读取结果。 相反、您应该在4个 ADC 中的一个上选择 SOC0来触发中断。 由于所有4个 ADC 都有1个要转换的样本、并且都是同时启动的、因此您可以从 ISR 中的所有4个 ADC 读取 RESULT0 (无论您选择哪个 ADC 触发它)。 请注意、PIE 位置将根据您选择的 ADC 和标志而变化。