STM32 中断介绍及cubemx配置

中断:就是当 CPU 执行程序时,由于发生了某种随机的事件(外部或内部),引起 CPU 暂时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程就称为中断。

可以这样理解 : 一个人正在家玩电脑,这时有人来敲门,这个敲门的信号就可以理解为中断。而不使用中断的话,你就要一会看看门口有人没。你听到敲门的信号,接下来去做的事就是在回调函数中写的。

中断源:引发中断信号来源称为中断源。
中断的嵌套:有些中断还能够被其他高优先级的中断所中断,那么这种情况又叫做中断的嵌套
中断通道:是传递、处理中断的信息通道。中断通道对应有唯一的中断号、中断优先级、中断向量、服务程序

STM32 中断分类

  1. CPU中断(15个通道)
    包括非屏蔽中断、异常、指令中断、复位。
  2. 设备中断(43~68个通道)
    指STM32微控制器片内所有设备的中断,其数量与型号有关,对于大容量(hd)类型,共60个。
  3. 外部中断(16个中断源、7个通道)
    16个中断源,通过7个端口(PA、PB、PC、PD、PE、PF、PG)引脚接外部设备信号。
    7个中断通道:来自外部引脚。另外4个中断源连接的是内部设备,用于检测电压、RTC闹钟、两个唤醒CPU,且各占1个通道。

使用 嵌套向量中断控制器(NVIC)进行控制

优先级规则

一般设置中断需要设置优先级(主优先级也叫抢占优先级,子优先级 )

  1. 每个中断源都需要被指定这两种优先级。
  2. 高抢占优先级的中断可以打断低抢占优先级的中断服务;相同子优先级的中断之间不能构成中断嵌套。
  3. 子优先级不能够构成中断嵌套;抢占优先级相同,而子优先级不同的中断同时发生时,首先响应子优先级高的中断。
  4. 抢占优先级和子优先级相同的中断同时发生时,首先响应编号小的中断。

可以使用cubemx进行设置 优先级
enter description here

应用

在串口通信中 使用了中断控制串口接受
可以参考应用

更多STM32学习教程

  1. STM32 cubemx keil5搭建学习环境
  2. 使用STM32 cubemx keil5实现led灯与数码管控制
  3. 基于STM32 CubeMx keil5实现键盘的应用
  4. 基于STM32 CubeMx keil5实现串口通信 I2C与GPIO综合应用
  5. 基于STM32 CubeMx keil5实现AD转换获取温度
  6. 基于STM32 CubeMx keil5 学习使用I2C
  7. 基于STM32 CubeMx keil5 学习使用串口通信
  8. 基于STM32 CubeMx keil5应用定时器
  9. 基于STM32 cubemx keil5学习使用中断
  10. 基于STM32 cubemx keil5综合应用实现温度控制系统
发布了46 篇原创文章 · 获赞 59 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/Nirvana_6174/article/details/104335038
今日推荐