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.

[参考译文] TMS320F2.8379万D:APWM中断

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/577056/tms320f28379d-apwm-interrupt

部件号:TMS320F2.8379万D
主题:controlSUITE中讨论的其他部件

您好,

我在使用ECAP作为APWM时遇到中断问题。 我从controlSUITE ("C:\ti\controlSUITE\DEVICE_SUPPORT\F2837xD\V200\F2837xD_Examples_CPU1\ECAP_CAPT_PWM")2837)中获取了示例,该示例按预期工作(我看到示波器上的输出)并添加了代码以在CTR EQ_CMP上生成中断。

中断一直被触发,就像一个无限循环...即,在"主要"循环运行一段时间之后... (在运行程序之前,我还在ISR中放置了断点,得到main_counter=23.2559万,eCAP1_ISR_counter=1);

PWM的频率为10-20 Hz (在禁用中断的情况下使用示波器测量)。 所以我预计每秒有10-20次中断。

在类似的代码中,使用ECAP单元进行捕获,输入信号50Hz时,中断按预期工作(50次中断/秒)。 与ePWM单元相同。

那么,如何使其与APWM正常工作?

请参阅屏幕截图和附加文件ECAP_apwm_cpu01.c

谢谢

e2e.ti.com/.../ECap_5F00_apwm_5F00_cpu01.c

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

    ASDF,

    您已 正确清除eCAP全局中断状态标志,但未能清除导致 首先设置全局"INT"标志的中断事件标志。 《 技术参考手册》中的16.5 7 将介绍此 电路的工作原理,图16-9将特别有用。

    此致,
    科迪

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

    现在它看起来像这样并且工作正常:

    中断无效eCAP1_ISR(void)

    eCAP1_ISR_counter++;
    ECap1Regs.ECCLr.bit.INT =1;
    ECap1Regs.ECCLr.bit.ctr_cmp = 1;
    PieCtrlRegs.PIEACK.ALL = PIEACK_group4;
    }