• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32f4外部中断同时触发怎么处理的问题

宫梓萱 2019-03-19 浏览量:2511

例如,我有两个触发中断,PC8和PC9,都上升沿中断。

这两个引脚PC8和PC9会大概率同时到达上升沿。

有意思的是这两个中断共用一个中断服务函数void EXTI9_5_IRQHandler(void)。

因此NVIC所设置的响应优先级和抢占优先级对于PC8和PC9都相同的。

当极端情况PC8和PC9同时都上升沿的时候,因为它们是属于同一性质的中断,

在中断的时候,具体怎么处理了。


0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 看谁先到,就先处理哪个脚的中断。

    对于单片机来说,优先级一样,但到达的时候还是有先后,先处理先到的。

    • 发布于 2019-03-19
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:12
  • 两个中断的抢占优先级和响应优先级都是一样的话,那就看哪个中断先发生一点点就先执行
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 1
    • 0

  • 每次只能一个进中断,看先后,不可能·并行,在中断内在进行判断具体哪个触发中断
    • 发布于2019-03-19
    • 举报
    • 评论 1
    • 0
    • 0
宫梓萱 回复了 lsh019 :那另一个后到的中断还会再执行吧 回复

  • 肯定有时间差,但是进去的中断程序是一个
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 严格上没有同时的中断,一定是有一个先后的,就算是1ns也算是有的。
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 每次进中断先识别一下当前各IO的电平,然后将中断标志位清掉,这样,即使两个IO同时产生中断,也能一起处理掉
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果严格按你的要求,只能是有一个中断有效,另一个中断会跳过不响应
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 因为这是属于同一中断,就不存在中断优先级问题,系统就判断哪个按键先按下(电平先变化)就先执行哪个中断。

    • 发布于2019-03-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种情况都是根据实际中断出现前后来相应的,同时中断相应也会有时间差,IO读取电平都是可以反映出来的!
    • 发布于2019-03-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果你设置的完全 一样的话,那么只能是先响应一个,另一个的标志位是有效的,会在之后再运行的
    • 发布于2019-03-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种太理想的状态应该是不会有的吧,至少是要有一个先发生,所以两个中断在微观上来说是都会运行的
    • 发布于2019-03-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 属于同一个中断,没有优先级的说法,就是看哪个先按下,即使是认为同时按下的,但是对于单片机来说总会认为一个先到,先处理这个。
    • 发布于2019-03-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是只有一个中断函数,所以两个中断哪一个产生 ,都调用一个中断函数,只是调用的次数少一次
    • 发布于2019-03-21
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32f4外部中断同时触发怎么处理的问题