请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:IWRL6432AOP工具/软件:
您好:
我正在尝试了解 ePWM 示例以及中断多路复用如何在 IWRL6432AOP 上工作。
该示例中有一个步骤、代码读取 CSL_APP_CTRL_U_BASE 的一些原始寄存器值、然后写回原始十六进制值 0x80:
/* Configure Mux for PWM interrupt generation */
regVal = HW_RD_REG32(CSL_APP_CTRL_U_BASE + CSL_APP_CTRL_APPSS_IRQ_REQ_SEL);
regVal = (regVal & ~(0xC0)) | 0x80;
HW_WR_REG32(CSL_APP_CTRL_U_BASE + CSL_APP_CTRL_APPSS_IRQ_REQ_SEL, regVal);
概括来说、这应该与 APPSS 中断映射的 TRM 中的此表中的中断编号相对应:

但 0x80 不是 48、TRM 实际上没有指示 ePWM 通道中断在 APP_CTRL:APPSS_IRQ_REQ_SEL 中对应的位值。 此表中的其他一些条目具有数组索引指示符、我假设该指示符对应于要在此寄存器中设置的位。
有人能解释一下它是如何工作的吗? 此外、我们在示例中不应使用原始的十六进制值、除非在某个位置记录了该值。
谢谢、
Munan
