stm32——EXTI

2023-11-17

EXTI,外部中断,是stm32的众多外设之一,属于中断的一种。

它最重要的就是通过检测外部引脚口的电平变化,比如说上升沿,下降沿,以及双边沿,来触发中断,让主程序放下当前的事情,去执行发生中断时应该执行的事情(设置好的函数)。

大概是如上所属,但是其实具体是怎么运行的呢

EXTI是有20个通道指向NCVI(中断的),主要是16个引脚,还有四个复位,以太网乱七八糟的东西,暂时不用管,但是单片机上肯定不止16个引脚,所以这里用到了AFIO选择器,就当引脚号相同时触发中断时,只选择一个进行触发,就比如说过PA0和PB0同时触发了中断,但是AFIO只能选择一个进行触发,因为都连接在一个通道上,接着往下走,涉及到了优先级的概念,因为你想啊,如果两个中断同时触发,你要先处理哪一个呢,那肯定要设置好处理事件的轻重缓急。这个优先级呢,又分为两种,一种为响应优先级,一种为抢占优先级,听这个名字,抢占优先级就更加厉害的样子,确实如此,,就会形成中断嵌套,先执行抢占优先级更加高的,那响应优先级就要弱一些了,如果一个中断正在执行时,一个响应优先级更高的中断发生了,并不会嵌套,依然会执行原来的,不过之后会根据响应优先级的高低排出队伍顺序(通俗的来讲想象成看病,响应优先级直接冲进诊室,让原来正在看病的病人靠边站,而响应优先级顶多插到队伍前面),这个具体是咋设置,有一个设置优先级的4位寄存器,有0、1、2、3、4几种模式,分别表示抢占优先级占的位数,剩下的就是响应优先级所占的位数,然后将通道根据设定的模式分别设定两个优先级的数值就OK了。然后NCVI就可以根据优先级将中断挨个交给cpu处理,其实就是执行中断通道触发的中断函数,注意这里通道5-10,11-15触发的同一个函数。整个流程就是如此了,在说明一点,中断触发之后也不一定非要传到cpu执行中断函数,也可以传到某一外设,让它做事情,这样就会减轻cpu的负担了,称为事件中断。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

stm32——EXTI 的相关文章

随机推荐

  • 辐射定标、辐射校正、大气校正、正射校正等相关概念

    作为初学者 容易将这几个概念搞混 为了较好地理解这几个概念 先介绍一下相关的术语 terminology DN值 Digital Number 遥感影像像元亮度值 记录地物的灰度值 无单位 是一个整数值 值大小与传感器的辐射分辨率 地物发射
  • Python学习笔记综合

    一 安装和学习建议 1 使用的2 7 2 环境变量 python的根目录 3 cmd就可以运行 执行使用 python xxx py 4 编写代码可以直接python进入代码编辑 5 exit 退出编辑环境 安装与学习建议 pycharm专
  • 图像生成王者不是GAN?扩散模型最近有点火:靠加入类别条件,效果直达SOTA

    博雯 发自 凹非寺量子位 报道 公众号 QbitAI OpenAI刚刚推出的年末新作GLIDE 又让扩散模型小火了一把 这个基于扩散模型的文本图像生成大模型参数规模更小 但生成的图像质量却更高 于是 依旧是OpenAI出品 论文标题就直接号
  • 【RPA经验分享】远程桌面最小化或关闭状态运行 RPA

    了解RPA www i search com cn 学习RPA https support i search com cn 一 问题描述 当我们使用 window 自带的远程工具连接远程服务器并运行自动化流程 最小化远程窗口或关闭窗口后自动
  • 任意输入一长度不超过30的字符串,使用指针编写函数,实现如下功能:将一个字符串str1中的所有小写字母复制成为一个新的字符串str2。

    任意输入一长度不超过30的字符串 使用指针编写函数 实现如下功能 将一个字符串str1中的所有小写字母复制成为一个新的字符串str2 例如 若str1为 progRam Cczuoye 19 则str2应为 progamczuoye 要求
  • JMeter 批量接口测试

    一 背景 最近在进行某中台的接口测试准备 发现接口数量非常多 有6 70个 而且每个接口都有大量的参数并且需要进行各种参数验证来测试接口是否能够正确返回响应值 想了几种方案后 决定尝试使用JMeter的csv读取来实现批量的接口测试 接口测
  • 雷辉:让视频会议conferencing like TV

    伴随视频会议技术不断成熟 其功能已不局限于早期仅仅满足异地会议的需求 打破硬件的桎梏 提供白板 多媒体播放 文档协同等更多功能 如何为视频会议赋予更强大功能 实现更好体验 满足更多办公需求成为一个新的课题 LiveVideoStack邀请到
  • 测试人员必备:常用自动化测试工具

    Appium 官网 http appium io AppUI自动化测试 Appium 是一个移动端自动化测试开源工具 支持iOS 和Android 平台 支持Python Java 等语言 即同一套Java 或Python 脚本可以同时运行
  • 并发编程系列之CountDownLatch对战Cyclicbarrier

    前言 前面我们介绍了并发容器和队列 今天我们来介绍几个非常有用的并发工具类 今天主要讲CountDownLatch和Cyclicbarrier这两个工具类 通过讲解并对比两个类的区别 OK 让我们开始今天的并发之旅吧 什么是CountDow
  • Python爬虫学习-第四篇 Scrapy框架抓取唯品会数据

    上篇博文讲述了scrapy的框架和组件 对于scrapy有了基本的了解 那么我们进入今天的正题 使用Scrapy框架爬取数据 1 创建Scrapy项目 创建Scrapy工程文件的命令 scrapy startproject scrapyte
  • java实现飞机大战(简单版)

    import javafx animation AnimationTimer import javafx application Application import javafx scene Group import javafx sce
  • java压缩字符串并生成二维码

    针对特殊需求需要使用二维码传输数据 为了降低二维码的复杂度和提高数据传输量 需要先对数据进行压缩 然后生成二维码 压缩后的数据是byte 如果再转回字符串会严重影响压缩效果 因此考虑直接使用byte 生成和解析二维码 为了实现使用byte
  • 解决 “/lib64/libc.so.6: version `GLIBC_2.18‘ not found (required by /lib64/libstdc++.so.6)“

    https blog csdn net wiborgite article details 87707938
  • 基于RedHat 8.2源码编译升级Kernel 5.8.1

    1 基于RedHat 8 2源码编译升级Kernel 5 8 1 1 1 背景 只是单纯为了验证工作中遇到的一个bug 才诞生了此文 1 2 先从如下网址下载内核源码包 我这里下载的是 linux 5 8 1 tar gz 大家可根据自己需
  • 无监督深度估计、运动估计的深度学习方法(二)——SSIM损失函数

    在自监督深度估计中 一般输入2张图像 若为视频 则输入邻近的两帧图像 frame1和frame2 模型先估计相机拍摄这2张图像是的姿态变化pose 然后根据pose将frame1变换到frame2的视角下 得到合成图像synthetic f
  • 数据类型:C++中的基本数据类型

    数据类型 C 中的基本数据类型 在C 中 数据类型是用于存储不同种类数据的变量类型 C 提供了多种基本数据类型 包括字符型和数值类型 本篇博客将详细介绍C 中的基本数据类型 并提供相应的示例代码 目录 引言 字符型数据类型 2 1 char
  • Mysql数据备份-定时自动备份dump备份命令

    登录数据库服务器并打开命令行工具 如Windows系统中的cmd exe 或图形化管理工具 如phpMyAdmin Navicat等 根据数据库类型 执行相应的备份命令 例如 MySQL数据库可以使用以下命令导出备份 mysqldump u
  • 数仓分层理论

    数据仓库 在实际工作中 数仓分层 元数据管理 数据质量管理一直是一个持续优化的过程 我们公司业务也是在持续的做数仓的优化工作 在数据治理这方面还是欠缺很多的经验的 下面先简单整理了一下第一个理论部分的相关笔记 数据仓库理论 数据仓库四大特征
  • 锐捷ap设置为路由模式_路由器AP、路由、桥接模式有什么区别【详细介绍】

    现在的路由大多数已经开始支持多种网络连接模式 那么我们就挑一款模式最全的路由来了解各种模式的区别吧 下文将以TP Link迷你无线路由器为例 在TP Link迷你无线路由器上一般有AP 接入点 模式 Router 无线路由 模式 Repea
  • stm32——EXTI

    EXTI 外部中断 是stm32的众多外设之一 属于中断的一种 它最重要的就是通过检测外部引脚口的电平变化 比如说上升沿 下降沿 以及双边沿 来触发中断 让主程序放下当前的事情 去执行发生中断时应该执行的事情 设置好的函数 大概是如上所属