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.

[参考译文] TMS320F28027:ePWM 多个中断

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/930145/tms320f28027-epwm-multiple-interrupts

器件型号:TMS320F28027

尊敬的所有人:

我需要从 ePWM 模块生成两个中断(一个是 CMPA=CTR 上升斜率、二个是) CMPA=CTR 下降斜率)。

我已经测试了一个中断的代码、它运行正常、当我进入第二个中断时、代码运行正常。

我已共享下面的中断部分、

EPwm1Regs.ETSEL.bit.INTEN = 1;//启用 INT
EPwm1Regs.ETSEL.bit.INTSEL = ET_CTRD_CMPA;//在下降斜率上选择 INT = CTR 事件
EPwm1Regs.ETPS.bit.INTPRD = et_1st;//在发生第一个事件时生成 INT

EPwm1Regs.ETSEL.bit.INTEN = 1;//启用 INT
EPwm1Regs.ETSEL.bit.INTSEL = ET_CTRL_CMPA;//在上升斜率上选择 INT = CTR 事件
EPwm1Regs.ETPS.bit.INTPRD = et_1st;//在发生第一个事件时生成 INT

请告诉我如何生成多个 PWM 中断。

谢谢、

  

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

    Prakash、

    您在写入时:EPwm1Regs.ETSEL.bit.INTSEL = et_CTRL_CMPA;

    这将写您之前在此处启用的配置:EPwm1Regs.ETSEL.bit.INTSEL = et_CTRD_CMPA;

    在一个 PWM 上、没有同时启用这两者的选项。 这为您留下了几个选项。

    1. 每次进入 ISR 切换时、重新配置您的选择、以更好地进行 CTRU 和 CTRD。
    2. 使用 PWM 生成 CTRU 脉冲、使用第二个 PWM 生成 CTRD 脉冲。  

    此致、
    Cody