在官方推荐的C28x中断嵌套实现说明中,通过添加“EINT”和“DINT”这两条指令实现了高优先级对低优先级中断的嵌套,但对代码中关于PIEIER和IER寄存器(特别是IER寄存器)为什么要这样操作还不是特别理解。
个人理解对PIEIER的操作是为了防止在嵌套过程中有其余组的高优先级中断插入。
烦请各位工程师指教,谢谢!
您好,
已经收到了您的案例,调查需要些时间,感谢您的耐心等待。
您好
我很抱歉我的延迟回复。 请查看我对以下线程的第一次回复,以了解所有不同的嵌套方案:(+) TMS320F28388D:EINT和嵌套- C2000微控制器论坛- C2000Tm︎ 微控制器- TI E2E支持论坛。 我最终将使用此信息更新C28x嵌套指南,以显示所有可能的情况。 您展示的示例是执行"在同一组内两个中断的较低优先级ISR"一节中描述的操作。 在这种情况下,必须修改IER,以便仅启用ISR优先级高于当前ISR的组的IER (根据所需的自定义优先级方案)。 仅当在同一组中使用多个中断时才需要PIEIEIER,因此这些PIEIEIER线路取决于硬件中PIE的实际用例和优先级(每个C2000设备都有所不同)。