本文主要是介绍【STM32】STM32学习笔记-EXTI外部中断(11),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
00. 目录
文章目录
- 00. 目录
- 01. 中断系统
- 02. 中断执行流程
- 03. STM32中断
- 04. NVIC基本结构
- 05. NVIC优先级分组
- 06. EXTI简介
- 07. EXTI基本结构
- 08. AFIO复用IO口
- 09. EXTI框图
- 10. 计数器模块
- 11. 旋转编码器简介
- 12. 附录
01. 中断系统
中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行
中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源
中断嵌套:当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回
02. 中断执行流程
03. STM32中断
-
68个可屏蔽中断通道,包含EXTI、TIM、ADC、USART、SPI、I2C、RTC等多个外设
-
使用NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,可对优先级进行分组,进一步设置抢占优先级和响应优先级
04. NVIC基本结构
05. NVIC优先级分组
-
NVIC的中断优先级由优先级寄存器的4位(0~15)决定,这4位可以进行切分,分为高n位的抢占优先级和低4-n位的响应优先级
-
抢占优先级高的可以中断嵌套,响应优先级高的可以优先排队,抢占优先级和响应优先级均相同的按中断号排队
06. EXTI简介
-
EXTI(Extern Interrupt)外部中断
-
EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序
-
支持的触发方式:上升沿/下降沿/双边沿/软件触发
-
支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断
-
通道数:16个GPIO_Pin,外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒
-
触发响应方式:中断响应/事件响应
07. EXTI基本结构
08. AFIO复用IO口
-
AFIO主要用于引脚复用功能的选择和重定义
-
在STM32中,AFIO主要完成两个任务:复用功能引脚重映射、中断引脚选择
外部中断 外部中断/ 事件线路映像
112通用I/O端口以下图的方式连接到16个外部中断/事件线上:
09. EXTI框图
10. 计数器模块
用途:
广泛用于电机转速检测,脉冲计数,位置限位等。
模块特色:
1、使用进口槽型光耦传感器,槽宽度5mm。
2、有输出状态指示灯,输出高电平灯灭,输出低电平灯亮。
3、有遮挡,输出高电平;无遮挡,输出低电平。
4、比较器输出,信号干净,波形好,驱动能力强,超过15mA。
5、工作电压3.3V-5V
6、输出形式 :数字开关量输出(0和1)
7、设有固定螺栓孔,方便安装
8、小板PCB尺寸:3.2cm x 1.4cm
9、使用宽电压LM393比较器
模块使用说明:
1.模块槽中无遮挡时,接收管导通,模块DO输出低电平,遮挡时,DO输出高电平;
2、DO输出接口可以与单片机IO口直接相连,检测传感器是否有遮档,如用电机码盘则可检测电机的转速。
2.模块DO可与继电器相连,组成限位开关等功能,也可以与有源蜂鸣器模块相连,组成报警器。
产品接线说明:
1、VCC 接电源正极3.3-5V
2、GND 接电源负极
3、DO TTL开关信号输出
4、AO 此模块不起作用
电路原理图
11. 旋转编码器简介
-
旋转编码器:用来测量位置、速度或旋转方向的装置,当其旋转轴旋转时,其输出端可以输出与旋转速度和方向对应的方波信号,读取方波信号的频率和相位信息即可得知旋转轴的速度和方向
-
类型:机械触点式/霍尔传感器式/光栅式
硬件电路
12. 附录
参考: 【STM32】江科大STM32学习笔记汇总
这篇关于【STM32】STM32学习笔记-EXTI外部中断(11)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!