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

相关推荐
m0_377108141 小时前
stm32软件i2c
stm32·单片机·嵌入式硬件
殷忆枫1 小时前
基于STM32和LD3320语音模块串口交互
stm32·单片机·嵌入式硬件
知识噬元兽1 小时前
【工具使用】STM32CubeMX-QSPI配置-实现NorFlash读写
stm32·单片机·嵌入式硬件
知识噬元兽1 小时前
【工具使用】STM32CubeMX-FATFS文件系统
stm32·单片机·嵌入式硬件
浩浩测试一下11 小时前
汇编 16位32位64位通用寄存器(逆向分析)
汇编·windows·stm32·单片机·嵌入式硬件·逆向·二进制
振南的单片机世界16 小时前
EXTI边沿触发:按键一按就通知CPU,不用轮询
stm32·单片机·嵌入式硬件
jllllyuz16 小时前
STM32 BMP280 I2C通信驱动程序
stm32·单片机·嵌入式硬件
优信电子16 小时前
基于STM32F103C8T6单片机驱动ACS712模块进行电流检测
stm32·单片机·嵌入式硬件·嵌入式·电流检测·acs712·电流采集
Hall_IC19 小时前
意法半导体STM32F103RCT6分销商
stm32·单片机·嵌入式硬件