中断(EXTI)

学习笔记,仅供参考。

1.中断

什么是中断?

中断一般来自硬件(如片上外设、外部I/O输入等)发生的事件,当这些硬件产生中断信号时,CPU会暂停当前运行的程序,转而去处理相关硬件的中断服务程序。

对于单片机来说,当发生中断事件时,CPU会处理中断并保留现场,当中断事件结束后,程序会回到保留的现场并向下执行。

2.STM32外部中断--EXTI

本次使用的STM32F407 具有 82 个可屏蔽中断通道,系统 异常10 个,并且优先级可编写进行设置。STM32F4 的每个 IO 都可以作为 外部中断的中断输入口,中断控制器支持 22 个外部中断/事件请求,每个中断/事件都有独立的触发和屏蔽设置。

库函数配置一般步骤

1.使能IO口时钟,并且设置为输入模式

类似初始化按键

2.开启 SYSCFG 时钟,设置 IO 口与中断线的映射关系。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);//使能 SYSCFG 时钟

SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0);//中断线0与A口映射(就是GPIOA的0号管脚)

3.初始化中断,并设置触发条件

3.1线0     3.2中断触发模式    3.3上升沿触发   3.4使能      3.5初始化寄存器(EXTI_Init)

4. 配置中断分组(NVIC),并使能中断。

4.1外部中断通道     4.2抢占优先级    4.3响应优先级   4.4使能      4.5初始化中断优先级(NVIC_Init)

5.编写中断服务函数

5.1找到对应中断服务函数     5.2判断此线上的中断是否发生    5.3若发生干什么事情   5.4清除中断标志位

3.总体来说一般步骤为:

1)使能 IO 口时钟,初始化 IO 口为输入。

2)使能 SYSCFG 时钟,设置 IO 口与中断线的映射关系。

3)初始化线上中断,设置触发条件等。

4)配置中断分组(NVIC),并使能中断。

5)编写中断服务函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值