我们的应用程序在任何给定时间运行8个左右不同的ISR例程(许多基于HR/ECAP边缘,其他基于ADC,其他基于计时器)。 在运行时,我需要快速打开或关闭一些。 可以接受因为中断只是被清除而不是被维修而"错过"中断,或者等待我重新启用以维修它。 我们知道,在某些情况下,我们的CPU会被中断处理占用,因此我们希望关闭不必要的ISR,以防止锁定。
对于基于HR/ECAP的员工,我可以毫无问题地这样做。 我遵循3.1 TRM.TRM第1.7 节中列出的步骤。
对于基于ADC的产品(INT1和INT2都指向同一ISR),我遇到了处理器偶尔锁定的问题。
ADC中断是否有类似的必需禁用过程,或者是否有任何其他可能的方法来清晰地处理此问题? 在PIE 1.2 上使用1.7 .3.1 中的过程时,我仍然看到此问题。 我假设这是一个错误的ISR矢量,它是由于中断信号流的一些问题导致的。
谢谢!