访问电脑版页面

导航:老古开发网手机版STM32单片机STM32单片机的中断系统

STM32单片机的EXIT中断解析

导读:
关键字:
STM32单片机,外部中断,NVIC,RCC,

工程概要说明:定义一个按键(可自己定义),每按键一次,响应中断一次,在中断函数中LED提示灯变化一次,用户可更加实际情况在中断函数做出相应操作,这里只是一个模板。

一、RCC时钟配置

STM32单片机的EXIT中断解析

该函数位于在bsp.c文件下面;

使能RCC时钟:RCC_APB2Periph_GPIOC和 RCC_APB2Periph_AFIO(针对该工程主要的两项,引脚PC13和复用功能)。

二、EXIT配置

STM32单片机的EXIT中断解析

该函数位于在bsp.c文件下面;

对应外部中断(按键)的引脚,这里两处必须匹配。

三、NVIC配置

STM32单片机的EXIT中断解析

该函数位于在bsp.c文件下面;

对EXIT的中断控制器进行配置

注意:

EXTI15_10_IRQn包含EXTI10 ---EXTI15共6条外部中断线,也就是说共用一个中断入口,需要在中断里面判断是哪一个中断。

四、中断函数

STM32单片机的EXIT中断解析

该函数位于在stm32f10x_it.c文件下面;

这里需要判断是哪个中断,这里的操作根据自己实际情况条添加代码。

五、今天的重点提示

A.外部中断IO

STM32所有的IO引脚都可以配置成外部中断引脚,见手册:

STM32单片机的EXIT中断解析

B.中断入口

程序中“EXTI9_5_IRQHandler” 和 “EXTI15_10_IRQHandler”可能开始学习的人不明白,其实很简单,就是综合了几个EXIT中断,入口都在这里。

C.细心的朋友会发现我“中断函数”中有一句else{EXTI-》PR = 0xFC00;},估计很多人都不明白。这里告诉大家,这句else其实很重要,特别是正式工作的人(我工作亲身经验),为什么重要,在与移植工程时,或许之前的工程开启了其他中断,但移植过后没有屏蔽,从而导致进入中断,而中断标志位又没有清除掉(else就是清除标志位),致使不停止中断中执行。

来源:工程师周亮   作者:lhl545545  2018/12/4 15:04:00
栏目: [ STM32单片机的中断系统]

相关阅读

关于STM32中断向量表的位置 、重定向问题

STM32F0(3)EXTI 外部中断配置

STM32单片机外部中断的设置方法

STM32单片机中抢占优先级和响应优先级的表达方式解析

STM32单片机是怎样执行中断函数中的应用的

STM32单片机的EXIT中断解析

如何配置stm32中断的优先级

STM32的基本概念及中断应用

STM32中断过程详解

如何采用STM32单片机中断向量控制器NVIC来分配优先级的数量

STM32的Cortex-M3中断异常处理

STM32单片机实现外部中断的步骤及方法

STM32学习笔记——外部中断的初步了解

STM32单片机为什么要中断

STM32单片机优先级的定义

关于STM32配置中断和GPIO针脚问题

基于STM32单片机秒中断源和闹钟中断源的解决方案

STM32单片机的外部中断和中断控制器的特点解析

STM32单片机如何进行中断调试

STM32单片机中RTC的秒中断的原理解析