我遇到过这样的情况:我的软件进入 HSEM 中断(使用 M4 内核),并且在服务该中断时忽略 SysTick 中断。退出 HSEM 中断取决于从 SysTick 中断中计数的 1ms 时钟周期,因此它会卡在 HSEM 中断中。
是否可以配置MCU,使得SysTick中断在程序处于另一个中断时仍然运行?这是不好的做法吗?我是否应该编写代码,以便退出 HSEM 中断不依赖于 SysTick 中断被调用(我不想这样做)?
是否可以配置MCU,使SysTick中断 当程序处于另一个中断时仍然运行?
是的,这是可能的,因为中断具有优先级。
这是不好的做法吗?我是否应该编写代码以便 退出 HSEM 中断不依赖于 SysTick 中断 被打电话(我不想这样做)?
如果在中断处理程序中调用可能超时的函数(使处理器长时间处于处理程序中),这是一个糟糕的程序设计。中断处理程序必须很短。所有程序逻辑都应该在处理程序之外。