Timer 什么情况会导致计时器中断冲突/未命中?

Timer 什么情况会导致计时器中断冲突/未命中?,timer,embedded,hardware,interrupt,rtos,Timer,Embedded,Hardware,Interrupt,Rtos,我正在开发一个运行到完成状态机RTOS。我想知道在什么情况下可以错过中断?最大CPU利用率100%是否会导致中断丢失?另外,如果两个具有不同处理程序但具有相同中断线的计时器在相同的时间点超时,那么哪个ISR首先运行 [从软件/固件工程师的角度,在硬件知识有限的情况下,感谢您的回复。]中断丢失的典型方式是,第一次出现的中断在第二次出现相同中断源之前没有得到服务。如果您没有足够快地为第一个事件提供服务,则会错过后续事件,因为无法将其与第一个事件区分开来。没有队列来堆叠一个中断的多次出现,因此您需要在

我正在开发一个运行到完成状态机RTOS。我想知道在什么情况下可以错过中断?最大CPU利用率100%是否会导致中断丢失?另外,如果两个具有不同处理程序但具有相同中断线的计时器在相同的时间点超时,那么哪个ISR首先运行


[从软件/固件工程师的角度,在硬件知识有限的情况下,感谢您的回复。]

中断丢失的典型方式是,第一次出现的中断在第二次出现相同中断源之前没有得到服务。如果您没有足够快地为第一个事件提供服务,则会错过后续事件,因为无法将其与第一个事件区分开来。没有队列来堆叠一个中断的多次出现,因此您需要在该特定中断再次发生之前服务并清除每个中断。请注意,不同的中断源可以同时挂起并单独提供服务,因为它们可以区分。同一中断源的两次出现会导致您错过一次

100%的CPU利用率并不一定会导致中断被错过,但我想这可能是原因之一。这也可能导致其他问题

许多微控制器包括中断优先级机制,该机制定义了哪些中断源将在哪些其他中断上被断言。这在不同的微控制器中有所不同,因此您必须查看特定微控制器的数据表以了解详细信息

更新: 那么,什么情况会导致中断的服务速度不够快呢? 如果中断被禁用的时间过长,则中断的服务速度可能不够快。或者,如果高优先级中断处理程序花费的时间太长,则低优先级中断的服务速度可能不够快


为了避免这些情况,请缩短中断被禁用的时间段和中断处理程序例程。

中断丢失的典型方式是在同一中断源的第二次出现之前,第一次出现的中断没有得到服务。如果您没有足够快地为第一个事件提供服务,则会错过后续事件,因为无法将其与第一个事件区分开来。没有队列来堆叠一个中断的多次出现,因此您需要在该特定中断再次发生之前服务并清除每个中断。请注意,不同的中断源可以同时挂起并单独提供服务,因为它们可以区分。同一中断源的两次出现会导致您错过一次

100%的CPU利用率并不一定会导致中断被错过,但我想这可能是原因之一。这也可能导致其他问题

许多微控制器包括中断优先级机制,该机制定义了哪些中断源将在哪些其他中断上被断言。这在不同的微控制器中有所不同,因此您必须查看特定微控制器的数据表以了解详细信息

更新: 那么,什么情况会导致中断的服务速度不够快呢? 如果中断被禁用的时间过长,则中断的服务速度可能不够快。或者,如果高优先级中断处理程序花费的时间太长,则低优先级中断的服务速度可能不够快

为了避免这些情况,请缩短中断被禁用的时间段和中断处理程序例程