STM32-EXTI中断
EXTI简介
EXTI(Extern Interrupt)外部中断
EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序
支持的触发方式:上升沿/下降沿/双边沿/软件触发(程序执行代码指令)
支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断
通道数:16个GPIO_Pin,外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒
触发响应方式:中断响应/事件响应(外部中断发生时,可以选择不触发一个中断,而是触发一个事件)
EXTI基本结构
每个GPIO有16个口,和AFIO连接,AFIO又引出16个引脚和EXIT外部中断连接;AFIO是数据选择器,可以从前面的GPIO中,选择一个引脚连接到后面的EXTI 通道里,所以上面有说,相同的PIN不能同时触发中断,因为经过AFIO选择后,只有一个能接到EXTI的通道0上,也就没法同时触发中断了;

为了节省NVIC的资源,ST将9-5指向同一个NVIC,15-10也是同一个NVIC,同一个NVIC共用中断函数,使用这个几个中断的时候,需要在中断函数里根据标志位进行区分 ;下面有20条线到了其他外设,这个就是用来触发其他外设的,也就是事件响应;
AFIO复用IO口
所有的PIN0复用到EXTI0,这也是为什么同一个PIN同时只能有一个触发中断
AFIO主要用于引脚复用功能的选择和重定义
在STM32中,AFIO主要完成两个任务:复用功能引脚重映射(最开始引脚定义表里那个重定义功能)、中断引脚选择

EXTI框图

20条输入线从右下角接入,经过边沿检测电路(上升沿/下降沿触发选择寄存器是可以配置的)上升沿触发/下降沿触发,软件中断事件寄存器(软件触发中断),然后经过或门后兵分两路,上一路是触发中断的(与门和中断屏蔽寄存器组成了一个开发,管控中断能不能响应),下一路是触发事件的(脉冲发生器会给一个脉冲,用来触发外设动作);
相关文章:
STM32-EXTI中断
EXTI简介 EXTI(Extern Interrupt)外部中断 EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程…...
2023云栖大会,Salesforce终敲开中国CRM市场
2015年被视为中国CRM SaaS元年,众多CRM SaaS创业公司和厂商在Salesforce的榜样作用下涌入了CRM SaaS赛道。在全球市场,Salesforce是CRM SaaS领域的领导厂商,连续多年占据了全球CRM SaaS第一大厂商地位。然而,Salesforce作为业务类…...
工业镜头接口类型
现有产品主要有以下接口 1、C:最常见的工业相机接口,受限于接口物理尺寸大小,最大靶面目前是4/3” 2、M42:M421.0,2k和4k线阵相机使用 3、M58S:M580.75,大靶面相机使用,可以转C(限于CH080相机,靶面4/3”),可以转F,可以…...
生产环境中oracle dba权限检查和回收相关命令汇总
一、oracle dba权限检查和回收的作用和意义 在Oracle数据库生产环境中,回收oracle dba权限的作用和意义重大,具体表现在以下三方面: 安全性:回收赋权检查和回收可以确保数据库中的权限控制得到有效管理。通过检查和回收权限&…...
实现微信转账到零钱经验
最近写微信转账到零钱的功能。 微信 商家转账到零钱 一-CSDN博客 微信 商家转账到零钱 二-CSDN博客 除了基本接口处理,也要兼顾系统财务安全,和异常处理情况。中心思想就是实现功能的同时,别给自己找事…… 本次开发在原有基础上二开。采…...
SpringCloud——负载均衡——OpenFeign
Feign是一个声明式的客户端接口,相比RestTemplate,更好的简化了微服务之间的调用方式。而且Feign默认集成了Ribbon,可以实现负载均衡。 1.OpenFeign与Feign OpenFeign在Feign的基础上支持SpringMVC的注解。OpenFeign的FeignClient可以解析Re…...
力扣370周赛
力扣第370场周赛 找到冠军 I 答案即入度为0的点 class Solution { public:int findChampion(vector<vector<int>>& grid) {vector<int>d(1005);int n grid.size() , m grid[0].size();for(int i 0 ; i < n ; i ){for(int j 0 ; j < m ; j )…...
EMNLP2023 | 让模型学会将提示插入到合适的中间层
深度学习自然语言处理 原创作者:cola 现有的提示微调方法基本是人工选择提示层,而人工选择将提示插入到哪些层次并非一定合理,这导致了很大程度上限制提示微调发挥潜能。我们的模型(SPT)可以让模型自己学习应该在哪些中间层插入提示ÿ…...
【PG】PostgreSQL单机部署(简洁命令版)
目录 1 下载安装包 2 上传至需要安装的服务器 3 服务器安装所需依赖包 4 解压安装包 5 配置安装 6 创建用户 7 创建目录修改权限 8 设置环境变量 9 设置共享库 10 初始化 11 启动数据库 12 关闭数据库 13 查看数据库状态 14 连接数据库 1 下载安装包 通过下载…...
AI:69-基于深度学习的音乐推荐
🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…...
php 使用phpoffice/phpspreadsheet拓展实现导出图片
基础操作参考:https://blog.csdn.net/huaweichenai/article/details/95994006 文档地址:https://phpspreadsheet.readthedocs.io/ github地址:https://github.com/PHPOffice/PhpSpreadsheet 导出插入图片主要使用\PhpOffice\PhpSpreadshee…...
几种解决mfc140.dll文件缺失的方法,电脑提示mfc140.dll怎么办
电脑提示mfc140.dll缺失,如果你不去处理的话,那么你的程序游戏什么都是启动不了的,如果你想知道有什么方法可以解决那么可以参考这篇文章进行解决,今天给大家几种解决mfc140.dll文件缺失的方法。电脑提示mfc140.dll也不用担心解决…...
并发修改异常
并发修改异常(Concurrent Modification Exception)是指在多线程环境下,当一个方法检测到对象的并发修改,但不允许这种修改时,抛出的一种异常。换句话说,当两个或多个线程同时对一个对象进行修改时ÿ…...
split() 函数实现多条件转为数据为数组类型
使用 split() 函数并传递正则表达式 /[,;.-]/ 作为分隔符来将字符串按照逗号、分号和破折号进行拆分,并将结果赋值给 splitArray 数组。下面是一个示例代码: 在上面的示例中,我们使用 split() 函数将 inputString 字符串按照逗号、分号和破折…...
【Springboot】Vue3-Springboot引入JWT实现登录校验以及常见的错误解决方案
文章目录 前言一、JWT简单介绍二、token校验设计思路三、使用步骤Springboot部署JWT引入依赖:创建登录实体类后端:LoginController.java路由守卫函数 四、问题 前言 项目版本: 后端: Springboot 2.7、 Mybatis-plus、Maven 3.8.1…...
VueCli 自定义创建项目及配置
一、VueCli 自定义创建项目 1.安装脚手架 (已安装) npm i vue/cli -g2.创建项目 vue create hm-exp-mobile选项 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) > Manually select features 选自定义手动…...
2024年节假日sql脚本(区分休息日、节假日、工作日、调休工作)
建表 CREATE TABLE no_work_day (id int NOT NULL AUTO_INCREMENT,day varchar(255) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb3 COMMENT节假日表;执行脚本插入数据 INSERT INTO no_work_day (day) VALUES (20240101); INSERT INTO no_work_day (…...
vue3介绍
介绍 3完全兼容2的语法 vue3:体积更小,性能会更高。底层做了很多优化 2倍左右 vue3vitets 渐进式框架 vue3和vue2 的区别 新语法,性能上提升很多 思想是一致的:动态绑定:状态data&计算属性,监听某些状态…...
Spark SQL自定义collect_list分组排序
想要在spark sql中对group by concat_ws()的字段进行排序,可以参考如下方法。 原始数据如下: ------------ |id |name |type| ------------ |1 |name1|p | |2 |name2|p | |3 |name3|p | |1 |x1 |q | |2 |x2 |q | |3 |x3 |q | …...
2023年云计算的发展趋势如何?
混合云的持续发展:混合云指的是将公有云和私有云进行结合,形成一种统一的云计算环境。随着企业对数据隐私和安全性的要求越来越高,以及在数据存储和处理方面的需求不断增长,混合云正在逐渐成为主流。预计未来混合云将会继续保持高…...
ext-ds 测试与调试:确保数据一致性的方法
ext-ds 测试与调试:确保数据一致性的方法 【免费下载链接】ext-ds Extension for specialized native data structures in PHP 项目地址: https://gitcode.com/gh_mirrors/ex/ext-ds ext-ds 是 PHP 中用于提供专业原生数据结构的扩展,它为开发者提…...
red-python-scripts EXIF数据处理:从图片中提取GPS坐标的完整教程
red-python-scripts EXIF数据处理:从图片中提取GPS坐标的完整教程 【免费下载链接】red-python-scripts 项目地址: https://gitcode.com/gh_mirrors/re/red-python-scripts red-python-scripts是一个功能强大的Python工具集,其中包含了多个实用的…...
为什么我们会忘记事情?记忆力和什么有关?
每个人都逃不开遗忘的困扰:刚想好的台词转头就忘、出门反复纠结有没有带钥匙、熟记的知识点考完就忘、熟人的名字卡在嘴边说不出来。我们总把遗忘当作大脑的缺陷,羡慕过目不忘的超强记忆力,抱怨大脑不靠谱。但从脑科学角度来说,遗…...
智能硬件中的嵌入式开发与系统集成
智能硬件中的嵌入式开发与系统集成 随着物联网和人工智能技术的快速发展,智能硬件正逐渐渗透到日常生活的各个领域,从智能家居到工业自动化,从可穿戴设备到无人驾驶系统。嵌入式开发与系统集成作为智能硬件的核心技术,承担着硬件…...
python画桃心
python用turtle画简单图案比较方便,大一学python的turtle模块时,记得要画各种图案,如国旗,桃心等等图案,期末课程设计时有可能还会遇到画54张扑克牌,当初室友就被迫选了这道题。!!&a…...
反向传播算法调优:提升神经网络训练效率的关键技巧
1. 反向传播算法调优的核心价值反向传播作为神经网络训练的基石算法,其配置质量直接影响模型收敛速度和最终性能。在实际工程中,我们常遇到模型训练不稳定、收敛缓慢或陷入局部最优等问题,这些问题90%以上可以通过调整反向传播参数解决。不同…...
终极Vim ASCII艺术创作指南:从零开始的文本绘画之旅
终极Vim ASCII艺术创作指南:从零开始的文本绘画之旅 【免费下载链接】vim The official Vim repository 项目地址: https://gitcode.com/gh_mirrors/vi/vim Vim作为一款强大的文本编辑器,不仅能高效处理代码,还能成为创作ASCII艺术的利…...
为什么我们需要持续学习模型
在克里斯托弗诺兰的电影《记忆碎片》中,莱纳德谢尔比生活在一个破碎的当下。在一次创伤性脑损伤后,他患上了前向性失忆症,这种疾病使他无法形成新的记忆。每隔几分钟,他的世界就会重置,让他滞留在一个永恒的现在中&…...
【Applicom】applicom PC Network Interfaces - Version 下载分享
applicom PC Network Interfaces 3.1-4.3applicom PC Network Interfaces 软件 介绍软件列表:使用注意相关资料下载地址applicom PC Network Interfaces 软件 介绍 找了很久才在一个网站找到的软件包,很多个版本,不常用软件,但是很难找全版本…...
机器学习实践中的常见障碍与突破策略
1. 为什么你的机器学习目标总是难以实现?我见过太多人满怀热情地开始机器学习之旅,却在几个月后陷入停滞。他们的GitHub仓库停留在半年前,Jupyter Notebook里满是未完成的实验,学习计划表上的勾选越来越稀疏。这让我想起五年前自己…...
