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

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://xiahunao.cn/news/1619982.html

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

相关文章

变好的方式那么多,我只选认真。

前几天看了高哥的一篇文章,里面提到了高哥从没有把关注公众号的人称为粉丝,而是读者。我觉得这个理解很好啊,和我不谋而合,虽然我没有公开说过,但却是一直把你们当作我的朋友、伙伴。 说句心里话,如果没有你…

不打扰的刷存在感

不打扰是美德,但是缺乏存在感,狂刷存在感又会导致别人的厌烦,以前我没得选,现在我想全都要。 引 说到不打扰,貌似脑壳里面就能够浮现出来有关霓虹国的传说,说他们的「不给别人添麻烦」的文化已经深入骨髓&…

pd.cut()函数--Pandas

1. 函数功能 将连续性数值进行离散化处理:如对年龄、消费金额等进行分组 2. 函数语法 pandas.cut(x, bins, rightTrue, labelsNone, retbinsFalse, precision3, include_lowestFalse, duplicatesraise, orderedTrue)3. 函数参数 参数含义x要离散分箱操作的数组&…

微信小程序 基于Android的美容理发师预约管理系统

,本系统主要根据管理员、用户及理发师的实际需要,方便用户利用互联网实现对商品信息进行立即订购,同时让管理者可以通过这个系统对用户实际需求以及各信息进行管理。设计该系统主要目的是为了方便用户、理发师可以有一个非常好的平台体验&…

mysql中delete怎么用_mysql怎么使用delete

MySQL中的delete语句一般用于删除表的一行或者多行数据。 以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法:DELETE FROM [WHERE 子句] [ORDER BY 子句] [LIMIT 子句] DELETE FROM table_name [WHERE Clause]:指定要删除数据的表名。 ORDER BY 子句:可选项。表示…

DELETE 语句

SQL DELETE 作用 DELETE 语句用于删除表中的记录。 SQL DELETE 语法 DELETE FROM table_name WHERE some_columnsome_value; 请注意 SQL DELETE 语句中的 WHERE 子句! WHERE 子句规定哪条记录或者哪些记录需要删除。如果您省略了 WHERE 子句,所有的记…

Android studio 软件git使用

在 test 分支添加的方法 , 现在切换到 master分支 总共 2 个分支 , 当前的分支是 test 出现了 先试一下 force checkout , 尝试之后发现 , 你更改没有带过来 , 以为哪个类在master分支没有 , 所以这边也没有 , 切回分支 test 发现之前的跟改没有 , 这样即可以找回 继续切换…

mysql sql delete语句_SQL Delete语句

在本教程中,您将学习如何使用SQL DELETE语句删除表中的一行或多行。 1. SQL DELETE语句简介 要从表中删除一行或多行,请使用DELETE语句。 DELETE语句的一般语法如下: DELETE FROM table_name WHERE condition; 首先,提供要删除行的表名称(table_name)。 其次,在WHERE子句中…

DELETE语句

语法介绍 (1)如果我们想在SQL数据库中删除某一条数据,我们该怎样删除? Delete:删除 语法如下: 1.删除某一行数据 Delete from 表名称 Where 字段名 表值 2.删除整个表的数据 Delete fro…

delete用法解析

使用delete语句一次只能删除整行记录,不能删除某个字段。 (属于DML 语句会有提示是否删除)。 delete只会删除记录,不会删除表。 注: 如果要删除整张表,需要使用drop table命令。 如果要一次性清楚表中的数…

SQL入门之第九讲——DELETE删除语句

定义&#xff1a;DELETE 语句是用于删除表中的一条或多条记录。 基本语法&#xff1a; DELETE FROM <表名> WHERE <筛选条件>;1.DELETE删除语句 如果省略WHERE条件时&#xff0c;这回收DELETE 语句就会删除整个表的数据记录。需要注意的是&#xff1a;这里不会删…

驾驶员监控系统DMS系统功能规范

概述 文档范围 该文档阐述了DMS系统的功能场景、系统组成、接口需求等。 目的 该功能规范为DMS系统及周边件的开发提供参考。 缩写与定义 英文缩写 英文全称 中文描述 DMS: Driver Monitoring System 驾驶员监控系统 MPU: Micro Processor Unit 微处理器单元 IECU: …

Windows Server 2008安装VMTool提示要更新到 SP2

安装了个win2008的iso&#xff0c;我也不知道什么版本的&#xff0c;再安装VMware Tools时出现以下错误&#xff1a; 装程序无法继续。本程序需要您将此虚拟机上安装的操作系统更新到SP2&#xff0c;有关详细信息请参阅以下<A HREF“https://kb.wmware.com/kb/55798”>知…

windows 2003 sp2补丁导致的isa各类报错问题:***无法连接 651报错等

公司服务器安全整改测评&#xff0c;发现isa服务器的系统是windows server 2003 sp1不满足安全需要。所以要进行sp2补丁升级。升级后发现原来发布到internet的服务器都无法连接&#xff0c;具体故障如下&#xff1a; 1、发布的RDP经过外网连接后&#xff0c;使用isa自带的日志监…

部署Exchange2003+sp2补丁

安装步骤&#xff1a; 1把服务器加入域 2添加iis组件&#xff08;WEB.SMTP.NNTP&#xff09; 3 ASP.NET 4安装exchange的sp2补丁 试验步骤如下 1至少需要2台机器&#xff0c;一个是域控制器&#xff0c;一个是EXCHANGE服务器。 做一个新的域把另一台机器加入域中 2接下来添加ii…

Office2010 整合 SP2補丁

安裝Office 2010 的時候&#xff0c;有時候會默認沒有sp2&#xff0c;那有ISO的你應該如何做呢&#xff1f; 我手頭上的是零售版&#xff08;家庭與企業、中文簡體、中文繁體、英語&#xff09; 默認版本號&#xff1a;14.0.4 SP2是&#xff1a;14.0.7 官方鏈接&#xff1a;htt…

Windows2003和SP2补丁集成+GHOST安装系统

Windows2003 和 SP2 补丁集成 GHOST 安装系统 <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /> 一、下面我们先做windows2003和sp2补丁集成 1、首先&#xff0c;准备好一个原“windows<?xml:namespace prefix st1 ns &quo…

部署Exchange Server 2003+SP2补丁

Exchange 作为强大的邮件服务器&#xff0c;工作在 Win 2003 或 Wins 2003 sp2 的操作系统上&#xff0c; Exchange Server 2003 安装程序要求在服务器上安装并启用下列组件和服务 <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" …

2003安装集成SP2补丁+无人值守

实验需要三个工具&#xff0c;为win2003SP2,windows2003系统.ISO镜像&#xff0c;UitraISO文件。<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /> 一. 先建无人值守应答文件. 二. 然后在D盘新建两个文件夹win2003和SP2. 三…

System center 2012 R2 实战二、双实例SQL安装+SP2补丁更新

微软的很多服务器产品底层都需要数据库的支持&#xff0c;当我们构建一套应用系统&#xff0c;一套企业信息化平台的时候&#xff0c;数据库往往也充当着重要的作用&#xff0c;微软的UC系列&#xff0c;Dynamic 系列&#xff0c;Biztalk系列&#xff0c;基于IIS的动态网站&…