首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时具有相同优先级的两个外部中断(Cortex-M)?

同时具有相同优先级的两个外部中断(Cortex-M)?
EN

Stack Overflow用户
提问于 2018-02-01 16:21:33
回答 1查看 2.4K关注 0票数 4

关于Cortex-M例外(IRQ中断),我有或多或少的理论问题.假设我们有两个由同一个外部信号触发的外部中断PINT0和PINT1。这两个中断都设置了相同的优先级,比如0(默认的)。如何处理这种情况?这两个中断的N维也纳矢量数有什么影响吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-12-27 16:34:14

取决于您有哪个版本的M3 (即Cortex M0 vs Cortex M0),有中断优先级,可能有次优先级,最后有硬件优先级。

中断优先级

您所指的优先级是中断优先级。具有比当前上下文更高优先级的中断请求(无论是非中断,还是中断)将中断该上下文。具有与当前上下文相同优先级的中断请求不会中断。在您描述的情况下,总是先处理一个中断,然后再处理另一个中断。哪一个先服务取决于其他因素..。

次优先级

国家维也纳国际中心的一些变体具有次级优先次序。对于这种情况,存在次级优先事项。您有两个中断,您不希望一个中断另一个中断,但是您希望确保在两个都挂起的情况下,一个在另一个之前得到服务。子优先级允许您只指定这一点。在您的示例中,如果它们有不同的子优先级,那么将首先服务具有较高次优先级(较低数目)的子优先级。如果他们是一样的,那么还有最后一个因素.

硬件优先级

你在你的岗位上撞到了钉子。如果次优先级不是一个因素,或者子优先级也是相等的,那么N维也纳国际中心中的请求号是最后一个因素,其中较低的请求号具有较高的硬件优先级。

在您描述的特定情况下,两者都将知识产权设置为零,这意味着两者的优先级和任何子优先级都将为零,因此硬件优先级将打破“绑定”,并且将首先服务较低的请求号。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48567316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档