其它啥也不说,我们先看下芯达STM32 外部中断所采用电路,非常简单,如下图所示:
该电路直接从STM32 系列的CPU 引脚直接引出两个GPIO(PE2/PE3),外加上拉电阻后,使用一个轻触开关接地。很明显,按下开关时,PE2/PE3 引脚接地,否则为高电平。
学习STM32 中断时,我们可以一边回想单片机中断系统一边学习。这里的思路就与单片机类似:当按下按键时,电平变动,使用上升或下降沿触发中断。对于单片机来说,很简单,开中断即可。但STM32 却有所不同。我们使能配置EXTI、NVIC 中断后,还需要注意IO 口时钟的使能。笔者当初忽略了AFIO 时钟,调试2 天没有结果,重新查看datasheet 时,发现AFIO 时钟没有打开。下面简单列出外部中断的编程思路:
1、系统初始化,如系统时钟初始化,使之进入72MHZ 主频;
2、GPIO 配置,务必注意打开GPIO 时钟时,一定打开AFIO 时钟。
3、EXTI 配置,在这里配置需要选择哪个引脚作为中断引脚。
4、NVIC 配置,这也是比单片机多出来的部分,我们必须把NVIC 中对应的通道使能,并且设置优先级别。
5、使用while(1)进行死循环,并在中断程序中写入中断发生时应如何处理。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !