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.

[参考译文] MSP432P401R:检测哪个计时器通道触发中断

Guru**** 2589265 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/627297/msp432p401r-detect-which-timer-channel-triggered-the-interrupt

器件型号:MSP432P401R

您好!

如何使用新 SDK 检测计时器的哪个通道触发了中断?

void TA1_N_IRQHandler (void)
{
if (通道1触发中断)
{
Timer_A_clearCaptureCompareInterrupt (TIMER_A1_base、TIMER_A_CAPTURECOMPARE 寄存器_1);
执行操作
}
if (通道2触发中断)
{
Timer_A_clearCaptureCompareInterrupt (TIMER_A1_base、TIMER_A_CAPTURECOMPARE 寄存器_2);
执行操作
}
} 

此致、

Olivier

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

    Olivier、您好!

      我找不到 API、但我会继续寻找。  您还可以使用以下命令直接解决此问题:

    void TA1_N_IRQHandler (void)

      /*任何对 TA->IV 寄存器的访问、读取或写入都会自动复位

      最高"挂起"中断标志。 *

      switch (timer_A1->IV)

      {

       情况 0:中断;              //无中断

       案例 2:P1->OUT ^= BIT0;         // CCR1

         中断;

       案例 4:P2->OUT ^= BIT0;         // CCR2

         中断;

       案例 6:中断;              //未使用 CCR3

       案例 8:中断;              // CCR4未使用

       案例10:中断;              //未使用 CCR5

       案例12:中断;              // CCR6未使用

       案例14:中断;              //未使用溢出

       默认值:break;

      }

    请参阅随附的示例。

    此致、

    Chris

    e2e.ti.com/.../timer_5F00_a_5F00_updown_5F00_compare_5F00_multiple_5F00_pwm_5F00_test.c