STM32 入门 4
调试方式
串口调试
显示屏调试
Keil 调试模式
OLED
OLED (Organic Light Emitting Diode) 有机发光二极管
0.96 寸 OLED 模块,供电:3~5.5V,通信协议:I2C/SPI,分辨率:128x64
Keil 调试模式
中断
在主程序运行过程中出现特定中断触发条件,使得 CPU 暂停当前正在运行的程序,转而去处理中断程序,处理完成后返回原来被暂停的位置继续运行
中断优先级
当多个中断源同时申请中断时,CPU 根据中断源的轻重缓急进行裁决,优先相应更加紧急的中断源
中断嵌套
当一个中断程序运行时,又有新的更高优先级的中断源申请中断,CPU 再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次返回
STM32 中断
包含 EXTI,TIM,ADC,USART,SPI,I2C,RTC 等多个外设
使用 NVIC 统一管理中断,每个中断通道都拥有 16 个可编程的优先等级,可对优先级进行分组,可以设置抢占优先级和响应优先级
NVIC 结构
NVIC(嵌套中断向量控制器)在 STM32 种统一用来分配中断优先级和管理中断
NVIC 优先级分组
响应优先级高的先响应,抢占优先级高的,可以进行中断嵌套
中断优先级由优先级寄存器的 4 位决定,即 16 个数字,越小优先级越高,4 位可以进行切分,分为高 n 位的抢占优先级和低 4-n 位的响应优先级,一共有 n 取 0~5 种分组方式
抢占优先级高的可以中断嵌套,响应高的优先排队,两者相同按中断号排队
EXTI
EXTI(Extern Interrupt)外部中断
EXTI 可以监测指定 GPIO 口的电平信号,当指定的 GPIO 口产生电平变化时,EXTI 立即向 NVIC 发出中断申请,经过 NVIC 裁决后即可中断 CPU 主程序,使 CPU 执行 EXTI 对应程序
触发方式:上升沿/下降沿/双边沿/软件触发
支持 GPIO 口:所有,但相同的 Pin 不能同时触发中断(就比如 PA1 和 PB1 和 PC1)
通道数: 16 个 GPIO_Pin,外加 PVD 输出,RTC 闹钟,USB 唤醒,以太网唤醒
触发响应方式: 中断响应/事件响应,事件意味着信号不通向 CPU,而是触发其他的外设操作
基本结构
GPIO -> AFIO (中断引脚选择,16选1)-> EXTI -> NVIC
AFIO 复用 IO 口
STM32 中,AFIO 完成复用功能引脚重映射和中断引脚选择两个功能