STM32学习笔记(5_1)- EXTI外部中断理论

无人问津也好,技不如人也罢,都应静下心来,去做该做的事。

最近在学STM32,所以也开贴记录一下主要内容,省的过目即忘。视频教程为江科大(改名江协科技),网站jiangxiekeji.com

本期介绍外部中断和中断系统,中断就是主程序执行时,发生了中断触发条件,当这些紧急事件处理完后,CPU继续执行程序。

外部中断的使用场景:外部驱动很快的突变信号

相关实验有对射式红外传感器计次和旋转编码器计次 

中断简介

中断就像闹钟,你定了12点睡觉,但是时间还没到,你可以先去做其他事,若没有闹钟,你只能一遍遍反复去看时间,无法去做其他事。

对于外部中断来说,可以是引脚发生电平跳变,想要计次,那就变量++;

对于定时器来说,可以是定时的时间到了;

对于串口通讯来说,可以是接收到了数据,就把数据转存起来。

中断优先级:中断的紧急程度

中断执行流程

中断函数不需要主动调用,中断来时,硬件会自动调用。

STM32中断

NVIC:STM32的中断太多,用来管理中断,可比喻为医院的叫号系统,优先处理紧急的病人。

 NVIC基本结构

NVIC优先级分组

响应优先级:当前中断处理完,再处理下一个中断。比如医生屋里的病人看完病了,紧急病人插队进去看病。

抢占优先级:当前还没中断处理完,优先处理下一个中断,即中断嵌套。比如医生屋里病人还没看完病,紧急病人便插队进去看病。

优先级数越小,优先级越高,0为最高优先级。

五种分组方式:(0,4)、(1,3)、(2,2)、(3,1)、(4,0)

 EXTI简介

触发方式:上升沿/下降沿/双边沿/软件触发(引脚啥事没有,程序执行一局代码,就能触发)。
支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断(比如PA0和PB0不能同时触发),有多个中断时,要选择不同的Pin(比如PA0和PA1)

触发响应方式:中断响应:申请中断,CPU执行中断程序;事件响应:中断信号不会流向CPU,流向其他外设,触发其他外设的操作。如触发ADC转换、触发DMA等。

EXTI基本结构

外部中断的9~5会触发同一个中断函数, 15~10也会触发同一个中断函数。在编程时还需根据标志位区分是哪个中断。

 AFIO复用IO口

这张图就很清晰解释”支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断(比如PA0和PB0不能同时触发),有多个中断时,要选择不同的Pin(比如PA0和PA1)“这句话。

 EXTI框图

图中两边都弯的器件为或门,有一边直的为与门。

程序现象

对射式红外传感器计次

旋转编码器计次 

硬件电路

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值