您的位置:首页 > 其它

STM32学习部分5

2016-12-11 22:49 85 查看
1.      中断方面我还没有很好的掌握,今天继续。

2.      中断:(1)STM32中,每个GPIO都可以作为外部中断的中断输入端口。(2)共十九个中断请求,其中线0-15为外部中断输入中断,线16连接到PVD,线17连接到RTC闹钟事件,线18连接到USB唤醒事件。

3.      外部中断:折腾了一会终于有反应了,普中开发板上,有个下载时需要接上的跳帽在外部中断实验时需要拔下来,这样才能正常工作。还有就是,我发现相应的中断输入按钮对应的引脚必须设置为浮空输入才能正确触发!没改成浮空输入之前我一直失败。接下来就是初始化以及配置的过程。

4.      外部中断配置和初始化过程:(1)首先GPIO必须设置对,设置相应的外部中断触发引脚时,需要将该引脚的工作方式设置为浮空输入,不然不能正常触发外部中断。(2)然后,再使能复用功能时钟(这个不太明白是什么意思),接着就是将一组16个GPIO口与某个中断线设置映射关系,例如GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource2);,这样就把GPIOB口映射到中断线2上,而通过STM32的映射关系可以知道,这时GPIOB口有且只有一个PIN也就是GPIOB.2成为了与中断线2的映射线,此时只要对GPIOB.2做触发就可以。
(3)设置EXTI,也就是设置什么中断线,当然,在映射关系确定时,中断线也相应的确定了,再就是一些比较固定的配置,那么EXTI设置完毕。(4)下面设置NVIC,也就是这个外部中断的中断服务函数和抢占优先级以及响应优先级等,其中的NVIC_IRQChannel也就是设置外部中断服务函数的通道(个人认为是这样) (5)最后写中断服务函数,直接可以写服务函数所需动作(不同于51还要失能外部中断失能位EXn,做完后还要使能它),结束时需要清除中断线上的中断标志位,保证下一次的正常中断触发。

5.      盲点:(1)复用功能时钟是什么意思?(2)为什么要设置成浮空输入才能正确的触发?

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: