stm32-中断

中断通道 : 就是中断源的意思,,,

stm32中断非常多,,几乎所有的模块都能申请中断

stm32中断非常多,,如果把这些中断都引到cpu上,,线会非常多

NVIC : nested vectored interrupt controller : 嵌套向量中断控制器

NVIC 给中断排序:

  • 抢占优先级 : 直接中断当前程序,,执行 ===》 中断嵌套
  • 响应优先级 : 优先排队

EXTI : external interrupt 外部中断

相同的 pin 不能同时出发中断,,,,,PA1 和 PB1 不能同时触发中断


EXTI 不止是GPIO

EXTI Line 来源

Line0~15 GPIO0~15

Line16 PVD

Line17 RTC Alarm

Line18 USB Wakeup

Line19 Ethernet Wakeup

EXTI可以理解成,一个中断事件汇总器,,他有很多line,,,这些线路,,既可以连接GPIO也可以连接PVD,RTC,USB等内部外设事件


  • PVD : programmable voltage detector : 可编程电压检测器,,他能检测vdd电压是否低于某个阈值、
  • RTC alarm : rtc是实时时钟,,,
  • usb wakeup : usb休眠时,,主机可能发恢复信号
  • ethernet wakeup : 网卡检测到 magic packet ,,网络唤醒包

EXTI 不是GPIO专属中断模块,,而是 stm32的 事件输入中断系统,,GPIO,RTC,PVD,USB等,都只是EXTI的事件来源


正常是触发一个中断响应,,在stm32中也可以选择触发一个事件,,就不会打断cpu了,,而是通向其他外设,,用来触发其他外设操作,,外设之间联合工作

  • 中断响应

    会打断CPU

  • 事件响应 event

    不会打断cpu,,只产生一个事件脉冲给硬件用,,,这个事件主要给stm32内部硬件模块 ,,如 DMA,定时器,,ADC,睡眠唤醒,硬件同步,,,

IMR : interrupt mask register 中断屏蔽寄存器

EMR : event mask register :事件屏蔽寄存器

AFIO : alternate function IO : 复用功能输入输出

stm32引脚数量有限,, 一个引脚给多个外设共用,,,到底给谁,由AFIO决定

AFIO:

  • EXTI引脚映射: external intterupt
  • 引脚重映射 remap

编码器: encoder : 把运动变成电信号的传感器,

可以检测,,转了多久,,什么方向,转动速度,位置等

比如鼠标滚轮,,音箱旋流,,电机测速

中间圆圈表示,可旋转的金属触点,,旋转按钮时,,它会旋转,,会按顺序接触A,,B,对应的触点

正交编码: quadrature encoder 正交编码 ,, 相位差90度

pending flag : 普通挂起标志

intterupt pending : 中断挂起标志

EXTI只有一个 PR挂起寄存器,,, pending register

IMR : intterupt mask register

EMR : event mask register

相关推荐
Brilliantwxx8 小时前
【STM32】基础定时器 TIM 详解:从极简原理到寄存器全解析
stm32·单片机·嵌入式硬件·mcu
DS小龙哥8 小时前
从呼吸心率到离床报警:60G雷达睡眠仪全栈开发实录(硬件+MQTT+小程序)DIY一台全功能睡眠监护仪
stm32·单片机·嵌入式硬件·物联网·小程序·智能家居
lhbweilai9 小时前
深挖FreeRTOS内核实现(二)
c语言·汇编·stm32·单片机
ebiobiz10 小时前
Zig 工具链编译 STM32 开发指南
驱动开发·stm32·嵌入式硬件
Zw-awa21 小时前
反馈:让系统知道自己做得对不对
stm32
..Dauntless..1 天前
【stm32】串口——在MCU内部的工作过程
stm32·单片机·嵌入式硬件
Code_Solitude1 天前
开发板点灯实验源码
stm32·单片机·嵌入式硬件
Zw-awa2 天前
编码器读到的到底是什么:从脉冲到速度
stm32
笨笨饿2 天前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
沐欣工作室_lvyiyi2 天前
基于云平台的输液智能监测控制系统设计与实现(论文+源码)
stm32·单片机·单片机毕业设计·电子信息工程毕业设计