5 STM32标准库函数 之 外部中断/事件控制器(EXTI)所有函数的介绍及使用

news2024/9/23 9:30:23

5 STM32标准库函数 之 外部中断/事件控制器(EXTI)所有函数的介绍及使用

  • 1. 图片有格式
  • 2 文字无格式
    • 五 库函数之外部中断/事件控制器(EXTI)所有函数的介绍及使用
    • 前言
    • 一、图片预览,无格式(CSDN)
    • 二、EXTI库函数固件库函数预览
      • 2.1 函数EXTI_DeInit
      • 2.2 函数EXTI_Init
      • 2.3 函数EXTI_StructInit
      • 2.4 函数EXTI_GenerateSWInterrupt
      • 2.5 函数EXTI_GetFlagStatus
      • 2.6 函数EXTI_ClearFlag
      • 2.7 函数EXTI_GetITStatus
      • 2.8 函数EXTI_ClearITPendingBit
  • 该文档修改记录:
  • 总结

函数描述格式:

函数名外设函数的名称
函数原形原形声明
功能描述简要解释函数是如何执行的
输入参数{x}输入参数描述
输出参数{x}输出参数描述
返回值函数的返回值
先决条件调用函数前应满足的要求
被调用函数其他被该函数调用的库函数

缩写定义

缩写外设/单元
ADC模数转换器
BKP备份寄存器
CAN控制器局域网模块
DMA直接内存存取控制器
EXTI外部中断事件控制器
FLASH闪存存储器
GPIO通用输入输出
I2C内部集成电路
IWDG独立看门狗
NVIC嵌套中断向量列表控制器
PWR电源/功耗控制
RCC复位与时钟控制器
RTC实时时钟
SPI串行外设接口
SysTick系统嘀嗒定时器
TIM通用定时器
TIM1高级控制定时器
USART通用同步异步接收发射端
WWDG窗口看门狗

1. 图片有格式

因为从OneNote复制到CSDN上只能是图片,粘贴不了文字,所以就显示图片,在该博客后半部分会补充上相关函数的文字。
如果只是学习了解函数可以看图片,图片有格式,比较友好;需要使用某个函数,可以去博客后半部分copy使用。

在这里插入图片描述

2 文字无格式

五 库函数之外部中断/事件控制器(EXTI)所有函数的介绍及使用

前言

外部中断/事件控制器由 19 个产生事件/中断要求的边沿检测器组成。每个输入线可以独立地配置输入类型 (脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。每个输入线都可以被独立的屏 蔽。挂起寄存器保持着状态线的中断要求。
函数描述格式:
函数名 外设函数的名称
函数原形 原形声明
功能描述 简要解释函数是如何执行的
输入参数{x} 输入参数描述
输出参数{x} 输出参数描述
返回值 函数的返回值
先决条件 调用函数前应满足的要求
被调用函数 其他被该函数调用的库函数

一、图片预览,无格式(CSDN)

二、EXTI库函数固件库函数预览

函数名 描述
EXTI_DeInit 将外设 EXTI 寄存器重设为缺省值
EXTI_Init 根据 EXTI_InitStruct 中指定的参数初始化外设 EXTI 寄存器
EXTI_StructInit 把 EXTI_InitStruct 中的每一个参数按缺省值填入
EXTI_GenerateSWInterrupt 产生一个软件中断
EXTI_GetFlagStatus 检查指定的 EXTI 线路标志位设置与否
EXTI_ClearFlag 清除 EXTI 线路挂起标志位
EXTI_GetITStatus 检查指定的 EXTI 线路触发请求发生与否
EXTI_ClearITPendingBit 清除 EXTI 线路挂起位

2.1 函数EXTI_DeInit

函数名 EXTI_DeInit
函数原形 void EXTI_DeInit(void)
功能描述 将外设 EXTI 寄存器重设为缺省值
输入参数 无
输出参数 无
返回值 无
先决条件 无
被调用函数 无
例:
/* Resets the EXTI registers to their default reset value */
EXTI_DeInit();

2.2 函数EXTI_Init

函数名 EXTI_Init
函数原形 void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct)
功能描述 根据 EXTI_InitStruct 中指定的参数初始化外设 EXTI 寄存器
输入参数 EXTI_InitStruct:指向结构 EXTI_InitTypeDef 的指针,包含了外设 EXTI 的配置信息 参阅 Section:EXTI_InitTypeDef 查阅更多该参数允许取值范围
输出参数 无
返回值 无
先决条件 无
被调用函数 无
EXTI_InitTypeDef structure
typedef struct
{
u32 EXTI_Line;
EXTIMode_TypeDef EXTI_Mode;
EXTIrigger_TypeDef EXTI_Trigger;
FunctionalState EXTI_LineCmd;
} EXTI_InitTypeDef;
EXTI_Line
EXTI_Line 选择了待使能或者失能的外部线路。
_

EXTI_Line 描述
EXTI_Line0 外部中断线 0
EXTI_Line1 外部中断线 1
EXTI_Line2 外部中断线 2
EXTI_Line3 外部中断线 3
EXTI_Line4 外部中断线 4
EXTI_Line5 外部中断线 5
EXTI_Line6 外部中断线 6
EXTI_Line7 外部中断线 7
EXTI_Line8 外部中断线 8
EXTI_Line9 外部中断线 9
EXTI_Line10 外部中断线 10
EXTI_Line11 外部中断线 11
EXTI_Line12 外部中断线 12
EXTI_Line13 外部中断线 13
EXTI_Line14 外部中断线 14
EXTI_Line15 外部中断线 15
EXTI_Line16 外部中断线 16
EXTI_Line17 外部中断线 17
EXTI_Line18 外部中断线 18
EXTI_Mode
EXTI_Mode 设置了被使能线路的模式。
_

EXTI_Mode 描述
EXTI_Mode_Event 设置 EXTI 线路为事件请求
EXTI_Mode_Interrupt 设置 EXTI 线路为中断请求
EXTI_Trigger
EXTI_Trigger 设置了被使能线路的触发边沿。
EXTI_Trigger 描述
EXTI_Trigger_Falling 设置输入线路下降沿为中断请求
EXTI_Trigger_Rising 设置输入线路上升沿为中断请求
EXTI_Trigger_Rising_Falling 设置输入线路上升沿和下降沿为中断请求
EXTI_LineCmd
EXTI_LineCmd 用来定义选中线路的新状态。它可以被设为 ENABLE 或者 DISABLE。 例:
/* Enables external lines 12 and 14 interrupt generation on falling
edge */
EXTI_InitTypeDef EXTI_InitStructure;
EXTI_InitStructure.EXTI_Line = EXTI_Line12 | EXTI_Line14;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);

2.3 函数EXTI_StructInit

__
函数名 EXTI_StructInit
函数原形 void EXTI_StructInit(EXTI_InitTypeDef*EXTI_InitStruct)
功能描述 把 EXTI_InitStruct 中的每一个参数按缺省值填入
输入参数 EXTI_InitStruct:指向结构 EXTI_InitTypeDef 的指针,待初始化
输出参数 无
返回值 无
先决条件 无
被调用函数 无
EXTI InitStruct 缺省值
_

成员 缺省值
EXTI_Line EXTI_LineNone
EXTI_Mode EXTI_Mode_Interrupt
EXTI_Trigger EXTI_Trigger_Falling
EXTI_LineCmd DISABLE
例:
/* Initialize the EXTI Init Structure parameters */
EXTI_InitTypeDef EXTI_InitStructure;
EXTI_StructInit(&EXTI_InitStructure);

2.4 函数EXTI_GenerateSWInterrupt

函数名 EXTI_GenerateSWInterrupt
函数原形 void EXTI_GenerateSWInterrupt(u32 EXTI_Line)
功能描述 产生一个软件中断
输入参数 EXTI_Line:待使能或者失能的 EXTI 线路
参阅 Section:EXTI_Line 查阅更多该参数允许取值范围
输出参数 无
返回值 无
先决条件 无
被调用函数 无
例:
/* Generate a software interrupt request */
EXTI_GenerateSWInterrupt(EXTI_Line6);

2.5 函数EXTI_GetFlagStatus


函数名 EXTI_GetFlagStatus
函数原形 FlagStatus EXTI_GetFlagStatus(u32 EXTI_Line)
功能描述 检查指定的 EXTI 线路标志位设置与否
输入参数 EXTI_Line:待检查的 EXTI 线路标志位
参阅 Section:EXTI_Line 查阅更多该参数允许取值范围
输出参数 无
返回值 EXTI_Line 的新状态(SET 或者 RESET)
先决条件 无
被调用函数 无
例:
/* Get the status of EXTI line 8 */
FlagStatus EXTIStatus;
EXTIStatus = EXTI_GetFlagStatus(EXTI_Line8);

2.6 函数EXTI_ClearFlag


函数名 EXTI_ClearFlag
函数原形 void EXTI_ClearFlag(u32 EXTI_Line)
功能描述 清除 EXTI 线路挂起标志位
输入参数 EXTI_Line:待清除标志位的 EXTI 线路
参阅 Section:EXTI_Line 查阅更多该参数允许取值范围
输出参数 无
返回值 无
先决条件 无
被调用函数 无
例:
/* Clear the EXTI line 2 pending flag */
EXTI_ClearFlag(EXTI_Line2);

2.7 函数EXTI_GetITStatus

_

函数名 EXTI_GetITStatus
函数原形 ITStatus EXTI_GetITStatus(u32 EXTI_Line)
功能描述 检查指定的 EXTI 线路触发请求发生与否
输入参数 EXTI_Line:待检查 EXTI 线路的挂起位
参阅 Section:EXTI_Line 查阅更多该参数允许取值范围
输出参数 无
返回值 EXTI_Line 的新状态(SET 或者 RESET)
先决条件 无
被调用函数 无
例:
/* Get the status of EXTI line 8 */
ITStatus EXTIStatus;
EXTIStatus = EXTI_GetITStatus(EXTI_Line8);

2.8 函数EXTI_ClearITPendingBit

函数名 EXTI_ClearITPendingBit
函数原形 void EXTI_ClearITPendingBit(u32 EXTI_Line)
功能描述 清除 EXTI 线路挂起位
输入参数 EXTI_Line:待清除 EXTI 线路的挂起位
参阅 Section:EXTI_Line 查阅更多该参数允许取值范围
输出参数 无
返回值 无
先决条件 无
被调用函数 无
例:
/* Clears the EXTI line 2 interrupt pending bit */
EXTI_ClearITpendingBit(EXTI_Line2);

该文档修改记录:

修改时间修改说明
2023年8月20日第一次发布,介绍了STM32外部中断/事件控制器(EXTI)所有函数的介绍及使用

总结

以上就是3 STM32标准库函数 之 外部中断/事件控制器(EXTI)所有函数的介绍及使用的内容,本文介绍了 外部中断/事件控制器(EXTI)所有函数的介绍及使用所有函数的简单使用。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

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

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

相关文章

C++ 工具

C参考手册 Learncppcplusplustutorialspoint/cplusplusAwesomeC 写在最后:若本文对您有帮助,请点个赞啦 ٩(๑•̀ω•́๑)۶

RS485保护电路

今天给大家分享485接口的EMC设计,希望对电路设计,及相关软件开发的人员有帮助。 一、原理图 1. RS485接口6KV防雷电路设计方案 (RS485接口防雷电路) 接口电路设计概述: RS485用于设备与计算机或其它设备之间通讯&…

c++11 标准模板(STL)(std::basic_ostringstream)(一)

定义于头文件 <sstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_ostringstream;(C11 前)template< class CharT, class Traits std::char_traits<CharT>, class Allocator std::allo…

week6刷题

题解: 使用二分查找 class Solution { public:int minArray(vector<int>& numbers) {int low 0;int high numbers.size() - 1;while (low < high) {int pivot low (high - low) / 2;if (numbers[pivot] < numbers[high]) {high pivot;}else if (numbers…

学习JAVA打卡第四十四天

Scanner类 ⑴Scanner对象 scanner对象可以解析字符序列中的单词。 例如&#xff1a;对于string对象NBA 为了解析出NBA的字符序列中的单词&#xff0c;可以如下构造一个scanner对象。 将正则表达式作为分隔标记&#xff0c;即让scanner对象在解析操作时把与正则表达式匹配的字…

<C++> STL_stack和queue

1.stack的介绍和使用 1.1 stack的介绍 stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入与提取操作。 stack是作为容器适配器被实现的&#xff0c;容器适配器即是对特定类封装作为其底层的容器&am…

数据生成 | MATLAB实现GAN生成对抗网络结合SVM支持向量机的数据生成

数据生成 | MATLAB实现GAN生成对抗网络结合SVM支持向量机的数据生成 目录 数据生成 | MATLAB实现GAN生成对抗网络结合SVM支持向量机的数据生成生成效果基本描述程序设计参考资料 生成效果 基本描述 数据生成 | MATLAB实现GAN生成对抗网络结合SVM支持向量机的数据生成。 生成对抗…

抖店的出单主要靠什么?给你们分析下抖店的运营逻辑,建议看完!

我是王路飞。 做抖店只有一个目的&#xff0c;就是出单、赚钱。 那么从开通抖店开始&#xff0c;到最后店铺出单&#xff0c;这中间的一些运营流程就是你出单的关键了。 那么抖店的出单主要靠什么呢&#xff1f; 我的观点是&#xff1a;产品流量。给你们分析下抖店的运营逻…

【JavaEE】Spring事务-@Transactional参数介绍-事务的隔离级别以及传播机制

【JavaEE】Spring事务&#xff08;2&#xff09; 文章目录 【JavaEE】Spring事务&#xff08;2&#xff09;1. Transactional 参数介绍1.1 value 和 transactionManager1.2 timeout1.3 readOnly1.4 后面四个1.5 isolation 与 propagation 2. Spring 事务隔离级别 - isolation2.…

登录校验-Filter-登录校验过滤器

目录 思路 登录校验Filter-流程 步骤 流程图 登录校验Filter-代码 过滤器类 工具类 测试登录 登录接口功能请求 其他接口功能请求 前后端联调 思路 前端访问登录接口&#xff0c;登陆成功后&#xff0c;服务端会生成一个JWT令牌&#xff0c;并返回给前端&#xff0…

【C++】C++ 引用详解 ⑦ ( 指针的引用 )

文章目录 一、二级指针可实现的效果二、指针的引用1、指针的引用 等同于 二级指针 ( 重点概念 )2、引用本质 - 函数间接赋值简化版本3、代码示例 - 指针的引用 一、二级指针可实现的效果 指针的引用 效果 等同于 二级指针 , 因此这里先介绍 二级指针 ; 使用 二级指针 作为参数 …

JWT 技术的使用

应用场景&#xff1a;访问某些页面&#xff0c;需要用户进行登录&#xff0c;那我们如何知道用户有没有登录呢&#xff0c;这时我们就可以使用jwt技术。用户输入的账号和密码正确的情况下&#xff0c;后端根据用户的唯一id生成一个独一无二的token&#xff0c;并返回给前端&…

几个nlp的小任务(机器翻译)

几个nlp的小任务(机器翻译) 安装依赖库数据集介绍与模型介绍加载数据集看一看数据集的样子评测测试数据预处理测试tokenizer处理目标特殊的token预处理函数对数据集的所有数据进行预处理微调预训练模型设置训练参数需要一个数据收集器,把处理好数据喂给模型设置评估方法参数…

RHCE——八、DNS域名解析服务器

RHCE 一、概述1、产生原因2、作用3、连接方式4、因特网的域名结构4.1 拓扑4.2 分类4.3 域名服务器类型划分 二、DNS域名解析过程1、分类2、解析图&#xff1a;2.1 图&#xff1a;2.2 过程分析 三、搭建DNS域名解析服务器1、概述2、安装软件3、/bind服务中三个关键文件4、配置文…

孪生网络(Siamese Network)

基本概念 孪生网络&#xff08;Siamese Network&#xff09;是一类神经网络结构&#xff0c;它是由两个或更多个完全相同的网络组成的。孪生网络通常被用于解决基于相似度比较的任务&#xff0c;例如人脸识别、语音识别、目标跟踪等问题。 孪生网络的基本思想是将输入数据同时…

数据I/O

I/O类型 区分同步或异步&#xff08;synchronous/asynchronous&#xff09;。 简单来说&#xff0c;同步是一种可靠的有序运行机制&#xff0c;当我们进行同步操作时&#xff0c;后续的任务是等待当前调用返回&#xff0c;才会进行下一步&#xff1b;而异步则相反&#xff0c;…

ESP32-IDF移植LVGL 文件系统

一. 简介 在使用LVGL进行界面开发的时候&#xff0c;需要使用到各种字体文件和图片文件&#xff0c;如果直接下载到flash中的话(esp32的flash足够大&#xff0c;可以下载少量的资源文件)&#xff0c;不方便替换和管理&#xff0c;而且资源有限&#xff0c;但比较方便&#xff…

Oracle的学习心得和知识总结(二十九)|Oracle数据库数据库回放功能之论文三翻译及学习

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《Oracle Database SQL Language Reference》 2、参考书籍&#xff1a;《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Gui…

前端需要理解的工程化知识

1 Git 1.1 Git 常见工作流程 Git 有4个区域&#xff1a;工作区&#xff08;workspace)、index&#xff08;暂存区&#xff09;、repository&#xff08;本地仓库&#xff09;和remote&#xff08;远程仓库&#xff09;&#xff0c;而工作区就是指对文件发生更改的地方&#xff…