首页 > 其他分享 >(STM32)中断系统和外部中断

(STM32)中断系统和外部中断

时间:2023-11-01 15:36:49浏览次数:41  
标签:触发 优先级 中断 STM32 外部 寄存器 EXTI

中断系统:是执行和管理中断的逻辑结构

外部中断:是众多能产生中断的外设之一

中断:指的是中断源(中断通道),中断产生CPU暂停正在执行程序,去执行中断程序,然后返回。提高效率

  • F1系列的STM32有68个中断源,不同系列需要看手册
  • EXTI(外部中断)、TIM、ADC、USART、SPI、I2C、RTC等多个外设都会产生中断  
  • 使用NVIC来管理中断和分配中断优先级,16个优先级BVIC存在的意义:如果直接用CPU来操作中断,费时费力,提高NVIC来进行渐进的管

中断优先级:多个中断源,优先级高的先执行,优先级可根据需求设置

  • 优先级:响应优先级(插队),抢占优先级(插到插队的前面)
  • 优先级分配:由优先级寄存器的4位(0-15)决定

中断嵌套:优先级2中断正在执行,优先级1来了,就先执行优先级1,这就是嵌套

 

 EXTI介绍: 

相同的Pin不能同时触发中断,就是因为AFIO中断引脚选择器,在PinA0和PinB0中只选择一个Pin接到通道上

AFIO又像EXTI的间接管理,通过图知道一个有16+4个通道连接到EXTI

AFIO在STM32的主要做用:复用引脚重定义,中断引脚选择

图中有一个细节:9-5,10-15占用一个通道执行同样的中断,所有通过配置具体去选择

  EXTI框图:

与门、或门、非门-前题了解

   当触发信号到或门,就会兵分两路,直走去事件触发,向上是中断触发

   脉冲发生机:发射高低电平

   挂起寄存器:就是一个中断的标识位,然后读取寄存器知道是谁触发的中断,挂起寄存器至1,向左走,到与门,就到了NVIC控制器

  

 

标签:触发,优先级,中断,STM32,外部,寄存器,EXTI
From: https://www.cnblogs.com/Mr-shne/p/17797446.html

相关文章

  • 51单片机中断服务
    1.中断的概念在51单片机中,中断是一种机制,可以让单片机在执行某个任务时,暂停当前程序的执行,转而去执行另外一个优先级更高的任务,待该任务执行完毕后,再回到原来的任务继续执行。中断机制可以有效提高单片机的实时性和响应速度。在51单片机中,中断可以通过设置中断向量表来实现。中......
  • stm32开发
    基于寄存器开发新建工程添加C/C++识别路径;  防止中文乱码- 改变编码格式   基于库函数开发......
  • 如何检测元素外部的点击?
    内容来自DOChttps://q.houxu6.top/?s=如何检测元素外部的点击?我有一些HTML菜单,当用户点击这些菜单的头部时,我会完全显示它们。我希望在用户点击菜单区域外时隐藏这些元素。这是否可以通过jQuery实现?$("#menuscontainer").clickOutsideThisElement(function(){//隐藏......
  • 关于STM32芯片类型的详解
    关于STM32芯片类型的详解对于STM32芯片类型英文缩写的详解及相关型号: CL - Connect Line(互联型):包含STM32F105和STM32F107两个系列,该系列的芯片侧重于提供丰富的外设和连接选项,以满足各种连接性要求的应用场景。VL - Value Line(超值型):包含stm32f100系列,该系列的芯片是为......
  • 关于STM32时钟的问题记录
    关于STM32时钟的问题    在读别人建立大型的STM32工程时,会看到主函数中会首先执行一个RCC_Init()的函数,跳转过去之后发现是配置时钟的相关函数。而我自己在写STM32相关代码的时候,似乎从来没有注意过这个问题,我猜想在STM32程序开始执行的时候,也就是复位之后,会首先执行时钟......
  • stm32 uboot调试1--Apple的学习笔记
    一,前言openocd+stlink的vscode远程gdb调试环境搭建完成了,那么用吧,串口也不连接了。用自带的configs/stm32f429-discovery_defconfig进行的编译,然后就直接调试了。二,问题记录问题1:board_init_f进入fdt初始化就进入hang。答:因为fdt是分离的但是我并没有下载到某个地址,于是先配置为嵌......
  • STM32 OLED显示字符汉字
    本文代码使用HAL库。@TOC前言OLED屏幕是一种高对比度、高亮度、低功耗、灵活可弯曲的显示技术。在电子产品中,OLED屏幕通常用于显示各种文本、图标、图像等内容。本篇文章将介绍使用I2C接口在OLED屏幕上显示字符,汉字。一、OLED接线:我使用的OLED分辨率是128x64。这里......
  • win10 openocd通过vscode远程调试stm32的uboot--Apple的学习笔记
    一,前言我在uboot支持的cortex-M4内核启动流程分析--Apple的学习笔记中就说过了,我计划要单步调试uboot,但是我只有stlink,所以要基于openocd的gdb来调试,所以就做了尝试,花费约2天时间,虽然做了些无用功,专门还装了ubuntu18.04,且基于ubuntu还安装了openocd这些其实都无用的,但是就是这些过......
  • STM32F3系列 ADC采样单端采样模式(基于LL库)
    STM32F3系列ADC单端采样(基于LL库)芯片型号:STM32f303RBT6开发软件:MDK5&CubeMX&VSCode目录目录STM32F3系列ADC单端采样(基于LL库)目录引言1基础知识1.1ADC转换基本流程1.2时钟树1.3关键参数1.3.1位数1.3.2触发信号1.3.3采样时间1.3.4转换时间2CubeMx配置步骤......
  • 基于32位Cortex™-M4的STM32F446RET7、STM32F429IGH6、STM32F423VHH6嵌入式微控制器(M
    描述STM32F432位Cortex™-M4微控制器(MCU)打开了进入数字信号控制器(DSC)市场的大门。这一系列器件与STM32F2系列引脚对引脚、软件相容,但是具有更好的性能、DSP性能、更多的SRAM,并改进了外设,如全双工I²S、低于1μA的RTC、2.4MSPS的ADC。意法半导体STM32F4MCU内含......