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线,可选使能或禁用。

相关推荐
FreakStudio8 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘13 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
u1521096484913 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd84510150013 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼13 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
牛根生同志13 天前
SPI数据收发的时候 TXE与RXNE标志位置位的时机
stm32·spi·transfer
wohoo_wangzi13 天前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
goldenrolan13 天前
学习型红外控制系统稳定性挂测工装专项总结
软件测试·python·stm32·嵌入式·红外
✎ ﹏梦醒͜ღ҉繁华落℘13 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展13 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件