工具/软件:
尊敬的 Exerpts:
我的客户使用的是带中断的 F28P65 SCI-A(组 9)、当他们进行夜间测试时、 CPU 有可能不再进入 SCI-A 中断。 此问题的可能性很低、可能需要 2 天的时间才能重现。
当器件处于错误状态时、我们检查了相关寄存器、发现了这一点。
- 正确启用中断、包括 IER、PIEIER9、时钟外设中断使能。
- 设置 SCI-A 中断标志。
- 设置 PIEIFR9.1(我们仅关注这个中断)
- 未设置 IFR9
- PIEACK9 已置位
- 在后台运行的 CPU(CPU2 相关)。
这表示由于设置了 PIEACK9、信号从 PIEIFR9.1 到 IFR9 的传播被阻止。

然后、我们尝试通过软件复位 SCI-A、但 SCI 通信不会恢复。
之后、我们清除 PIEACK9、通信已恢复(可以正确进入中断)。
似乎 PIEACK9 是从导致此问题的中断意外设置出来的。
我们检查了 ISR、结果如下所示:
ISR(){
EINT; // Yes they uses nesting
DoSomething();
Clear_SCIA_InterruptFlag();
Clear_ACK(Group9);
DINT;
}
是否知道在什么情况下 PIEACK9 会从中断中置位?
此致、
挂起

