欢迎来到天天文库
浏览记录
ID:42380264
大小:577.32 KB
页数:5页
时间:2019-09-14
《STM32外部中断学习笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2013年10月19日自己的总结:1.每一个GPIO触发一个外部中断;2.同组间的外部中断同一时间只能使用一个;3.每一组使用一个中断标志EXTIx:EXTI0-EXTI4这5个外部中断有自己的单独的中断响应函数,EXTI5-9共用一个,EXTI10-15共用一个;4.STM32有一个专门的管理中断的机构:NVIC;5.由于用于触发中断,所以打开GPIO复用时钟;6.好像STM32不管怎么分,只能分16级吧:8x2,经过百度证实了这个想法;7.但是不明白为什么只使用高4位,百度不出来。作用:清除中断标志位。STM32的每个IO口都可以作为中断输入,这点很好用。要把IO口作
2、为外部中断输入,有以下几个步骤:1)初始化IO口为输入。这一步设置你要作为外部中断输入的IO口的状态,可以设置为上拉/下拉输入,也可以设置为浮空输入,但浮空的时候外部一定要带上拉,或者下拉电阻。否则可能导致中断不停的触发。在干扰较大的地方,就算使用了上拉/下拉,也建议使用外部上拉/下拉电阻,这样可以一定程度防止外部干扰带来的影响。2)开启IO口复用时钟,设置IO口与中断线的映射关系。STM32的IO口与中断线的对应关系需要配置外部中断配置寄存器EXTICR,这样我们要先开启复用时钟,然后配置IO口与中断线的对应关系。才能把外部中断与中断线连接起来。3)开启与该IO口相对的
3、线上中断/事件,设置触发条件。这一步,我们要配置中断产生的条件,STM32可以配置成上升沿触发,下降沿触发,或者任意电平变化触发,但是不能配置成高电平触发和低电平触发。这里根据自己的实际情况来配置。同时要开启中断线上的中断,这里需要注意的是:如果使用外部中断,并设置该中断的EMR位的话,会引起软件仿真不能跳到中断,而硬件上是可以的。而不设置EMR,软件仿真就可以进入中断服务函数,并且硬件上也是可以的。建议不要配置EMR位。4)配置中断分组(NVIC),并使能中断。这一步,我们就是配置中断的分组,以及使能,对STM32的中断来说,只有配置了NVIC的设置,并开启才能被执行,
4、否则是不会执行到中断服务函数里面去的。关于NVIC的详细介绍,请参考前面章节。5)编写中断服务函数。这是中断设置的最后一步,中断服务函数,是必不可少的,如果在代码里面开启了中断,但是没编写中断服务函数,就可能引起硬件错误,从而导致程序崩溃!所以在开启了某个中断后,一定要记得为该中断编写服务函数。在中断服务函数里面编写你要执行的中断后的操作。WK_UP高电平有效,KEY低电平有效。建立工程需要注意的!!!!
此文档下载收益归作者所有