【keysking的stm32教程】 第6集 狂飙STM32中断

作者: keysking分类: 校园学习 发布时间: 2023-02-23 14:04:05 浏览:72864 次

【keysking的stm32教程】 第6集 狂飙STM32中断

妤小宸:
@keysking 先㊗UP论文顺利通过[星星眼]。请教两个问题。一,在共用的中断处理函数里怎么实现NVIC优先级设置,如开发板KEY12.KEY13。二,在板上实现中断如下,key1点亮蓝灯,key2熄灭蓝灯,下载到板上发现key2键正常实现只能熄灭蓝灯,但是key1键却可以点亮和熄灭蓝灯,求解?。注:回调函数已经重写,让各自按键只执行单一的亮灭操作。[打call][打call]

【回复】共用中断处理函数就无法在NVIC设置优先级哦,因为优先级信息是设置在中断向量上的,而共用中断处理函数就说明是同一个中断向量。所以只能在软件上解决,无法通过NVIC实现。
【回复】第二个问题需要看到程序具体讨论,欢迎加入交流群(65470374)讨论~
大强强2054:
看的过瘾,催更拉催更啦,把我顶上去,让老师看到我们的诉求[打call][打call][打call][打call]

入戏太深____:
第六讲有问题吧,自己的逻辑函数不应该放到EXTI15_10_IRQHandler里面,而应该放到HAL_GPIO_EXTI_Callback里面,如有不对请指正

【回复】一样的,一个是中断线中断,一个是中断的回调函数
昵称1725:
p6 外部中断 设置过程 引脚设置为外设,例:`PB12`设置为`GPIO_EXTI12`,设置用户标签 设置`Configuration`中的`GPIO...

艾倫丨Yeager:
我想使用定时器在按键中断中开启一个定时器中断 然后回到主函数运行同时定时器定时1ms 触发定时器的中断判断按键是否按下 不知道可不可行

【回复】可以的, 不妨动手试一试[呲牙] 不过消抖一般都是5~10ms, 1ms有些太短了[脱单doge]
艾倫丨Yeager:
在这延迟的1ms主函数的while循环是不是不能运行

【回复】是的,这10ms主函数是不能运行的, 纯空耗cpu时间, 所以后面才说不推荐这样做~ [呲牙]
【回复】回复 @keysking : up,那推荐的做法应该是怎样?
guet青羽:
有大佬成功解决了这个问题吗,昨天代码正常运行,第二天一样的代码运行不了,重新建立工程也是一样

畏所無:
想问一下key老师,1.为什么qq群加不了呀,2.什么时间可以更新完呀

我真的喜欢中森明菜:
这里有个问题哈,主函数里也有延迟函数,改完优先级不是也比外部中断高了,怎么还能优先触发外部中断呢

【回复】回复 @我真的喜欢中森明菜 : 延时函数不是中断,只是它内部一直在判断时间过去了多久,而这个时间是由系统滴答中断每次中断时+1提供的
壳坎坎坷坷:
up,为啥不用keil呀,它自动生成代码,还是不会自己写

夜风雪空:
4分10秒下面那个while(),读取k1状态的循环,为什么后面没有大括号?{}

【回复】如果 while 要干的事只有一件(也就是一行代码) 那么可以省略大括号; 比如 while (a < b) count += 1; 而不是 while (a < b) { count += 1; }
【回复】如果只是让 while 在某个条件下不做任何事情 可以简化为 while(条件判断表达式);
-瑞---:
给动画点赞,让知识简单易懂,给up竖个大拇哥 [支持]

技术宅 嵌入式 单片机 教程 中断 狂飙 STM32 创客 别卷了,互联网人 互联网人互助指南

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

更多相关阅读