stm32F103C8T6标准库外部中断的概念

目录

  • 1.中断的概念
  • [2 中断控制器](#2 中断控制器)
  • [3 外部中断/事件控制器框图](#3 外部中断/事件控制器框图)
  • [4 EXTI简介](#4 EXTI简介)
  • [5 中断事件线](#5 中断事件线)
  • [6 中断优先级](#6 中断优先级)
  • [7 标准库中断的应用](#7 标准库中断的应用)

1.中断的概念

中断(interrupt):在主程序运行过程中,出现了特定的打断条件(中断源),让CPU暂停当前正在运行的程序,去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。

2 中断控制器

嵌套向量中断控制器(NestedVectored InterruptController):简称NVIC。CM3内核支持256个中断,包括16个内核中断和250个外部中断,同时具有256级的可编程中断设置。而STM32只使用了一部分。STM32拥有84个中断,包括16个内核中断和68个可屏蔽中断(STM32F107系列才使用了68个可屏蔽中断),还拥有16级可编程的中断优先级。STM32F103系列只使用了60个可屏蔽中断。

3 外部中断/事件控制器框图

4 EXTI简介

EXTI(External interrupt/event controller)---外部中断/事件控制器,管理了控制器的20个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性

5 中断事件线

前面EXTI0 - EXTI15分给每一个IO,另外7个用于处理特定的外设事件。这里PX0的X代表数据端口,也就是可以是PA0,PB0,PC0数据端口。意味着PA0,PB0,PC0它们都是共同占用EXT0这条线。

也就是说PA0,PB0,PC0都使用同一条中断事件线,但是我不知道是哪一个来的中断事件线,后面有一个区分它的。

6 中断优先级

优先级分组 抢占优先级 响应优先级 高四位描述
0 0极 0 ~ 15极 0bit用于抢占优先级 4bit用于响应优先级
1 0 ~ 1级 0 ~ 7级 1bit用于抢占优先级 3bit用于响应优先级
2 0 ~ 3级 0 ~ 3级 2bit用于抢占优先级 2bit用于响应优先级
3 0 ~ 7级 0 ~ 1级 3bit用于抢占优先级 1bit用于响应优先级
4 0 ~ 15级 0级 4bit用于抢占优先级 0bit用于响应优先级

响应优先级又称为子优先级。数值越小,优先级越高

0bit

只有一种状态 0极

1bit

2的1次方 - 1得到1,等级范围:0 ~ 1极

2bit

2的2次方 - 1得到3,等级范围:0 ~ 3极

3bit

2的3次方 - 1得到7,等级范围:0 ~ 7极

4bit

2的4次方 - 1得到15,等级范围:0 ~ 15极

抢占优先级:可以打断进行插队进去,比如我现在正在执行主任务,此时我有别的任务,别的任务的优先级高,就可以打断先执行。

响应优先级:大家都是同等级,大家都依次排队

优先级分组:0,1,2,3,4,取决于抢占优先级的数量,

0组,抢占优先级数量是0,

1组,抢占优先级数量是2,

2组,抢占优先级数量是4,

3组,抢占优先级数量是8,

4组,抢占优先级数量是16。

7 标准库中断的应用

标准库函数对每个外设都建立了一个初始化结构体,比如EXTIInitTypeDef,

结构体成员用于设置外设工作参数,并由外设初始化配置函数,比如EXTIInitO

调用,这些设定参数将会设置外设相应的寄存器,达到配置外设工作环境的目的。

I)EXTI Line:EXTI中断/事件线选择,可选EXTIO至EXTI19。

2)EXTI_Mode:EXTI模式选择,可选为产生中断或者产生事件。

3)EXTITrigger:EXTI边沿触发事件,可选上升沿触发、下降沿触发或者上升沿和下降沿都触发。

4)EXTILineCmd:控制是否使能EXTI线,可选使能或禁用。

相关推荐
VBsemi-专注于MOSFET研发定制1 小时前
高端LED封装自动化产线功率MOSFET选型方案——精密、高效与可靠驱动系统设计指南
运维·单片机·自动化
LCG元3 小时前
STM32项目实战:基于STM32F103的智能台灯控制
stm32·单片机·嵌入式硬件
rjszcb4 小时前
mcu.之armv7 contex-M3/M4系列,时钟树,中断, cpu架构,上电启动过程(二)
单片机
姓刘的哦4 小时前
RK3568之I2C子系统(协议)
单片机·嵌入式硬件
咕噜咕噜啦啦4 小时前
一些单片机学习相关名词
单片机·嵌入式硬件
芋头莎莎4 小时前
ESP32 +VSCode与搭建开发环境教程
vscode·单片机
小谦32514 小时前
第十二篇、CubeMX | 可见光颜色传感器 TCS3472
单片机·嵌入式硬件
Chat_zhanggong3454 小时前
主推22AP10作用有哪些?
嵌入式硬件
Chat_zhanggong34513 小时前
主推RK3567J作用有哪些?
人工智能·嵌入式硬件