关于STM32的外部引脚中断的问题

Posted 优秀不够,你是否无可替代

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于STM32的外部引脚中断的问题相关的知识,希望对你有一定的参考价值。

今天想用自己以前的比较干净的工程模板做一个东西,,,,,,,在添加上引脚中断的时候,,突然想知道自己配置的中断优先级是否正确执行,,,,,

以前刚学习32的时候测试过是可以的,,不过今天发现了一个大问题,,,,,,,,,

大家都知道32有抢占式优先级和响应式优先级,,,常理来讲,,,,,,

如果两个的抢占式优先级不相同,谁的级别高就优先执行谁,,,,级别高的可以打断级别低的

如果两个的抢占式优先级相同,谁先来就先执行完谁,,如果同时到来,那就看谁的响应式优先级高就先执行谁,,,,,,

那只是常理来讲,,,,,,,,,,,,,,以前也是按照常理来讲,,,,,,做程序,,,不过今天发现一个,,,,,,特殊来讲

今天我用PB0  和  PB2做实验---

第一种,,,,,,

 

 

我现在把PB0 和 PB2短接在一块,,用一根线连接,,然后把这根线在低电平和高电平之间切换

 

11111111111说明,,上拉模式下,下降沿触发,,抢占式优先级相同,,响应式优先级不相同,,谁的响应式优先级高就执行谁,,,,,,,,符合常规

 

 然后,,改一下

 

 

因为,因为

 

22222222222222 说明,,上拉模式下,上升沿触发,,抢占式优先级相同,,响应式优先级不相同,,,,,,,,,,触发时不符合常规

 

然后我再改一下

 

3333333333333说明,,上拉模式下,上升沿触发,,抢占式优先级不相同,,响应式优先级不相同,,,谁的抢占式优先级别高就先执行谁,,,,,,,符合常规

 

然后我再改一下

 

444444444444444 说明,,上拉模式下,下降沿触发,,抢占式优先级不相同,,响应式优先级不相同,,,谁的抢占式优先级别高就先执行谁,,,,,,,符合常规

 

 我再改一下

 

5555555555555555 说明,,下拉模式下,下降沿触发,,抢占式优先级相同,,响应式优先级不相同,,,谁的响应式式优先级别高就先执行谁,,,,,,,符合常规

 

我再改

 

 

6666666666666666666 说明,,下拉模式下,上升沿触发,,抢占式优先级相同,,响应式优先级不相同,,,,,,,,执行的不符合常规

 我再改一下抢占式优先级

然后在交换一下触发方式

 

 

 

 说明,,上拉模式下,下降沿触发,,抢占式优先级相同,,响应式优先级不相同,,谁的响应式优先级高就执行谁,,,,,,,,符合常规

 说明,,上拉模式下,上升沿触发,,抢占式优先级相同,,响应式优先级不相同,,,,,,,,,,触发时不符合常规

 说明,,上拉模式下,上升沿触发,,抢占式优先级不相同,,响应式优先级不相同,,,谁的抢占式优先级别高就先执行谁,,,,,,,符合常规

 说明,,上拉模式下,下降沿触发,,抢占式优先级不相同,,响应式优先级不相同,,,谁的抢占式优先级别高就先执行谁,,,,,,,符合常规

 

 说明,,下拉模式下,下降沿触发,,抢占式优先级相同,,响应式优先级不相同,,,谁的响应式式优先级别高就先执行谁,,,,,,,符合常规

 说明,,下拉模式下,上升沿触发,,抢占式优先级相同,,响应式优先级不相同,,,,,,,,执行的不符合常规

 说明,,下拉模式下,上升沿触发,,抢占式优先级不相同,,响应式优先级不相同,,,谁的抢占式优先级别高就先执行谁,,,,,,,符合常规

 说明,,下拉模式下,下降沿触发,,抢占式优先级不相同,,响应式优先级不相同,,,谁的抢占式优先级别高就先执行谁,,,,,,,符合常规

 

不知道亲们遇没遇到这样的问题,,,,,,,, 这是我的程序

链接:http://pan.baidu.com/s/1pLzxnN9 密码:mbbl

 上面的两条不符合常规不知道是什么原因,,,现在就是要注意额,,,,,,,,

 上拉配下降,,,,下降还下降,,,,,,,,,,,,,,,,,,,,,,,,,,,

 

以上是关于关于STM32的外部引脚中断的问题的主要内容,如果未能解决你的问题,请参考以下文章

stm32外部中断引脚模式改变

stm32外部按键中断无法退出中断问题

STM32的外部中断问题

STM32 TIM1 ETR计数外部脉冲数,怎么用中断方法实现?

stm32cubemx 外部中断

stm32cubemx 外部中断