stm32---外部中断

一、EXTI       

 STM32F10x外部中断/事件控制器(EXTI)包含多达20个用于产生事件/中断请求的边沿检测器。EXTI的每根输入线都可单独进行配置,以选择类型(中断或事件)和相应的触发事件(上升沿触发、下降沿触发或双边沿触发),还可独立的被屏蔽。总结一句话就是:STM32F10x外部中断/事件控制器(EXTI)一共有20个通道,其中16个通道映射到了GPIO口上。

        在stm32中文参考手册中我们可以找到如下图:

 框图:

 图解:从输入线开始,进入到边沿检测电路,边沿检测电路中可以设置为检测上升沿、下降沿或者双边沿触发,假设是上升沿触发,此时会经过一个或门(或门特点:有1则1),经过或门后可以通过一个与门,然后直接经过脉冲发生器产生事件,或者经过请求挂起寄存器,如果此时已经有一个中断存在,则较低优先级的中断会被挂起,较高优先级的中断会经过与门至NVIC中断控制器。

二、外部中断配置步骤

        要使用外部中断我们就需要先配置它,通常经过这几步:

(1)使能IO口时钟,配置IO口模式为输入

(2)开启AFIO时钟,设置IO口与中断线的映射关系,

RCC_APB2PeriphClockCmd(RCC_APB2periph_AFIO,ENABLE);

GPIO_EXTILineConfig();

(3)配置中断分组(NVIC),使能中断

(4)初始化EXTI,选择触发方式

void EXTI_Init();

    EXTI_InitStruct.EXTI_Line //中断/事件如PA0我们会映射到EXTI0
    EXTI_InitStruct.EXTI_Mode //EXTI 模式,有两种,一个是中断,一个是事件
    EXTI_InitStruct.EXTI_Trigger //EXTI触发方式,如:上升沿触发,下降沿触发,双边沿触发
    EXTI_InitStruct.EXTI_LineCmd //中断使能
    EXTI_Init(&EXTI_InitStruct);

(5)编写中断服务函数

其中5-9是共用一个函数 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/77515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 文本操作指令

Linux操作系统提供了许多用于处理文本文件的命令和工具。以下是一些常用的Linux文本命令: cat: 用于查看文本文件的内容,也可以用于合并多个文件。 cat 文件名more和less: 用于逐页查看文本文件,特别是对于大型文件。 …

绘图 | MATLAB

目的语法注意事项图片中出现网格grid on放在plot后面在同一图片中绘制多个图例hold on在图形中添加图例legend LineSpec 线性 线型描述线型描述" - "实线" : "点线" - - "虚线" -. "点划线 标记 标记描述标记描述“o”圆圈“squa…

C语言学习系列-->一篇带你看懂内存函数

文章目录 前言memcpy概述模拟实现 memmove概述模拟实现 memsetmemcmp总结 前言 上篇文章学习了C语言字符串函数,只是对字符串进行操作 本节,小编整理了一下C语言中的内存函数,对内存进行操作,只针对会内存块,不针对数据…

消息队列(二):创建核心类及数据库操作

我们核心类主要有四个: 交换机、队列、绑定、消息。这四个核心类还可以继续向下划分。除了这几个还有其他的核心类,先介绍这些,等后面讲到了相关功能实现后面再补充。 核心类 Exchange 关于交换机,我们主要需要实现三种交换机…

【python自动化应用】借助ChatGPT与Python轻松实现办公自动化 —— AIC松鼠活动第九期

背景:当今的工作环境中,高效和快速地完成日常任务对于个人和机构都至关重要。许多人正在利用Python自动化来提高他们的工作效率。Python自动化可以帮助您自动完成繁琐的、重复的、容易出错的任务,从而节省时间和精力。 Python自动化有很多应用…

前端vue按钮控制切换按钮是否禁用和颜色和显示隐藏,利用v-if和v-else

效果 未输入input前图片 输入input后图片 html (1) <input type"number" placeholder"请输入分润数量" placeholder-class"shareprofit_placeholder_num" v-model"money"> <!-- 金钱 --> {{money}} <!-- 可提现余额…

【【萌新编写risc-v之软件的学习使用】】

萌新编写risc-v软件的学习使用 对于vscode我其实没什么好说的 就是先配置好环境 其实vscde作为一个编译器的软件 其实并不需要指望能往里面加载多少功能 我们需要做的就是赋予编辑器更好用的功能和体验 有些人会在vscode里面甚至加入波形 仿真 我觉得不如交给 vivado来用 在vs…

PyTorch实战-实现神经网络图像分类基础Tensor最全操作详解(一)

目录 前言 一、PyTorch数据结构-Tensor 1.什么是Tensor 2.数据Tensor使用场景 3.张量形态 标量&#xff08;0D 张量&#xff09; 向量&#xff08;1D 张量&#xff09; 矩阵(2D张量) 3D 张量与高维张量 二、Tensor的创建 1. 从列表或NumPy数组创建 2. 使用特定的初始…

套接字、信号、管道、消息队列、信号量、共享内存的使用场景

套接字 Socket&#xff08;套接字&#xff09;通常在以下场景中使用&#xff1a; 网络通信&#xff1a;Socket最常见的用途是进行网络通信。通过Socket&#xff0c;可以在不同计算机之间建立连接&#xff0c;并进行数据交换。例如&#xff0c;客户端和服务器之间的通信、对等节…

Vue使用for循环加Promise.all来发送多个请求,并且等到所有请求结束后处理数据

项目场景&#xff1a; 项目中要根据一个模型 id 的数组列表&#xff0c;来查询所有模型的数据我需要对同一个接口循环发送多个请求&#xff0c;次数不定必须等所有结果返回后&#xff0c;再处理数据&#xff0c;并展示 实现方法&#xff1a; <script> export default …

分拣平台API安全治理实战 | 京东物流技术团队

导读 本文主要基于京东物流的分拣业务平台在生产环境遇到的一些安全类问题&#xff0c;进行定位并采取合适的解决方案进行安全治理&#xff0c;引出对行业内不同业务领域、不同类型系统的安全治理方案的探究&#xff0c;最后笔者也基于自己在金融领域的经验进行了关于API网关治…

学习记忆——英语篇

文章目录 英语字母形象起源右脑记忆单词的原则四大步骤第一步&#xff1a;摄取信息第二步&#xff1a;处理信息第三步&#xff1a;储存信息第四步&#xff1a;提取信息 训练例子字母形象训练 右脑记忆单词5大方法字源法编码法字母编码法字母组合编码法 拼音法全拼法拼音组合 熟…

创建对象四种方式JAVA

面试题经常见到&#xff0c;就顺带整理下&#xff0c;创建对象的四种方式&#xff1a; 1.使用new创建对象 2.使用反射创建对象 3.使用clone创建对象 4.使用序列化反序列化创建对象 代码如下&#xff1a; import java.io.*; import java.lang.reflect.Constructor; import…

Navicat连接openGauss数据库报错

错误信息&#xff1a;fe_sendauth:invalid authentication request from server:AUTH_REQ_SASL_CONT without AUTH_REQ_SASL 解决步骤&#xff1a; 1&#xff09;关闭防火墙&#xff1a; 切换root用户执行&#xff1a;su - root 输入密码 systemctl status firewalld 查…

神经网络 01(介绍)

一、神经网络 人工神经网络 (Artificial Neural Network&#xff0c;简写为ANN)也简称为神经网络 (NN)&#xff0c;是一种模仿生物神经网络结构和功能的 计算模型。人脑可以看做是一个生物神经网络&#xff0c;由众多的神经元连接而成。各个神经元传递复杂的电信号&#xff0c…

Orca LLM:模拟 ChatGPT 的推理过程

推荐&#xff1a;使用 NSDT场景编辑器 快速搭建3D应用场景 介绍 在大型语言模型&#xff08;LLM&#xff09;领域&#xff0c;人们一直在追求在不影响其效率的情况下增强小型模型的功能。传统的方法是使用模仿学习&#xff0c;其中较小的模型从大型基础模型&#xff08;LFM&am…

Vue3事件处理

文章目录 Vue3事件处理1. 概念2. 实例2.1 点击按钮次数12.2 v-on 可以接收一个定义的方法来调用2.3 内联 JavaScript 语句2.4 事件处理程序中调用多个方法 3. 事件修饰符4. 按键修饰符 Vue3事件处理 1. 概念 使用 v-on 指令来监听 DOM 事件&#xff0c;从而执行 JavaScript 代…

教务管理系统的开发与实现开题报告

本课题的研究目的和意义 近年来&#xff0c;随着科学技术水平的迅猛发展和管理水平的不断提高&#xff0c;计算机已经被广泛应用于日常管理之中&#xff0c;它的运用不断改进了管理模式&#xff0c;使管理日趋程序化、规范化、现代化&#xff1b;而且极大地提高了工作效率。 …

计算机网络初识

目录 1、计算机网络背景 网络发展 认识 "协议" 2、网络协议初识 OSI七层模型 TCP/IP五层(或四层)模型 3、网络传输基本流程 网络传输流程图 数据包封装和分用 4、网络中的地址管理 认识IP地址 认识MAC地址 1、计算机网络背景 网络发展 在之前呢&…

【C语言】库宏offsetof

一.offsetof简介 因此,宏offsetof的作用是: 当你传入结构体的类型及其成员时,它会返回该成员在结构体中的偏移量. 二.offsetof的使用 如下,我们使用offsetof打印一下结构体foo中,成员a,成员b及成员c相对于首地址的偏移量分别是多少: #include <stdio.h> #include …