工程概要阐明:界说一个按键(可自己界说),每按键一次,呼应中止一次,在中止函数中LED提示灯改变一次,用户可愈加实际情况在中止函数做出相应操作,这儿仅仅一个模板。
一、RCC时钟装备
该函数坐落在bsp.c文件下面;
使能RCC时钟:RCC_APB2Periph_GPIOC和 RCC_APB2Periph_AFIO(针对该工程首要的两项,引脚PC13和复用功用)。
二、EXIT装备
该函数坐落在bsp.c文件下面;
对应外部中止(按键)的引脚,这儿两处有必要匹配。
三、NVIC装备
该函数坐落在bsp.c文件下面;
对EXIT的中止控制器进行装备
留意:
EXTI15_10_IRQn包括EXTI10 —EXTI15共6条外部中止线,也便是说共用一个中止进口,需求在中止里边判别是哪一个中止。
四、中止函数
该函数坐落在stm32f10x_it.c文件下面;
这儿需求判别是哪个中止,这儿的操作依据自己实际情况条增加代码。
五、今日的要点提示
A.外部中止IO
STM32一切的IO引脚都可以装备成外部中止引脚,见手册:
B.中止进口
程序中“EXTI9_5_IRQHandler” 和 “EXTI15_10_IRQHandler”或许开端学习的人不理解,其实很简单,便是归纳了几个EXIT中止,进口都在这儿。
C.仔细的朋友会发现我“中止函数”中有一句else{EXTI-》PR = 0xFC00;},估量很多人都不理解。这儿告知我们,这句else其实很重要,特别是正式作业的人(我作业亲身经验),为什么重要,在与移植工程时,或许之前的工程敞开了其他中止,但移植往后没有屏蔽,然后导致进入中止,而中止标志位又没有铲除去(else便是铲除标志位),致使不中止中止中履行。