Thread 中讨论的其他器件:SYSBIOS
您好!
我有一个中断、可以 在很短的时间内再次触发。 因此、我想在我的中断子例程结束时检查中断是否再次挂起。
我找到的唯一解决方案是读取中断标志寄存器。 您能否确认没有更好的解决方案? (我在 SYSBIOS 和 CSL 中找不到任何内容)
您是否有 一个使用 MVC 读取 C/C++代码中的 IFR 的示例?
感谢你的帮助
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我有一个中断、可以 在很短的时间内再次触发。 因此、我想在我的中断子例程结束时检查中断是否再次挂起。
我找到的唯一解决方案是读取中断标志寄存器。 您能否确认没有更好的解决方案? (我在 SYSBIOS 和 CSL 中找不到任何内容)
您是否有 一个使用 MVC 读取 C/C++代码中的 IFR 的示例?
感谢你的帮助
您好!
您将情况描述为"interrupt may get sond time"、而 ISR 仍在忙于处理之前的请求。 实际上、这意味着中断事件周期可以比 ISR 持续时间短。 此时、您会考虑第二次发生中断、是的、您可能可以使用标志寄存器检测中断。 但请尝试超越以下方面:如果在 ISR 运行期间不仅第二次触发中断、而且第三次触发中断、会发生什么情况? 您将无法检测到它。
假设您希望 ISR 像触发中断一样多次运行。 然后我建议另一个时间表。 对于外部中断、请制作一个非常短的 HWI 处理程序、该处理程序将实际 ISR 发布为 SWI。 然后可以使用 Swi_inc ()函数来更新 SWI 触发计数器。 如果您决定这样做,请仔细阅读 SysBIOS 用户指南中的3.5.5 Using a Swi Object’s Trigger Variable,以避免对触发变量的误解。
希望这对您有所帮助。