stm32l0xx_hal_gpio.h中的八大函数

/* Initialization and de-initialization functions *******************************/
/** @defgroup GPIO_Exported_Functions_Group1 Initialization and de-initialization functions*  @{*/
void  HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init);
void  HAL_GPIO_DeInit(GPIO_TypeDef  *GPIOx, uint32_t GPIO_Pin);
/*** @}*//* IO operation functions *******************************************************/
/** @defgroup GPIO_Exported_Functions_Group2 IO operation functions@{*/
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
void          HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
void          HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
void          HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);
void          HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);
  1. HAL_GPIO_Init:根据HAL_GPIO_Init配置中指定的参数初始化 GPIOx 外设。

void  HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init);
  • 参数1 Gpiox: x 可以是 (A~E 和 H) 为 STM32L0XX 系列设备选择 GPIO 外设(请注意,GPIOE 并非在所有设备上都可用。)
  • 参数2 GPIO_Init:指向包含 GPIO_InitTypeDef 结构的指针( 指定 GPIO 外设的配置信息。)
  1. HAL_GPIO_DeInit:将 GPIOx 外设寄存器取消初始化为其默认重置值。

void  HAL_GPIO_DeInit(GPIO_TypeDef  *GPIOx, uint32_t GPIO_Pin);
  • 参数1 Gpiox:同上。
  • 参数2 GPIO_Pin: 指定要写入的端口位。 此参数可以是 x 可以 (GPIO_PIN_x 0~15) 的参数之一。(所有端口位不一定在所有 GPIO 上都可用。)
  1. HAL_GPIO_ReadPin:读取指定的输入端口引脚。

 GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
  • 参数1 Gpiox:同上。
  • 参数2 GPIO_Pin:同上。
  • 返回值:输入端口引脚值。
  1. HAL_GPIO_WritePin:设置或清除所选数据端口位。

void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
  • Tips: 此函数使用GPIOx_BSRR寄存器允许原子操作的读取/修改访问。这样,读取和修改访问之间没有发生 IRQ(“Interupt ReQuest”,即“中断要求”。) 的风险。
  • 参数1 Gpiox:同上。
  • 参数2 GPIO_Pin:同上。
  • 参数3 PinState:指定要写入所选位的值。
    GPIO_PinState枚举对象如下:
typedef enum
{GPIO_PIN_RESET = 0U,GPIO_PIN_SET
}GPIO_PinState;
  1. HAL_GPIO_TogglePin:切换指定的 GPIO 引脚。

void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
  • 参数1 Gpiox:同上。
  • 参数2 GPIO_Pin:同上。
  1. HAL_GPIO_LockPin:锁定 GPIO 引脚配置寄存器。

HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
  • Tips1:
    The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH.
  • Tips2:锁定的 GPIO 引脚的配置在下次重置之前无法再修改。
  • 参数1 Gpiox:同上。
  • 参数2 GPIO_Pin:同上。
  1. HAL_GPIO_EXTI_IRQHandler:此函数处理 EXTI 中断请求。

void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);
  • 参数1GPIO_Pin:同上。
  1. HAL_GPIO_EXTI_Callback:EXTI 线路检测回调。

__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{/* Prevent unused argument(s) compilation warning */UNUSED(GPIO_Pin);/* NOTE: This function Should not be modified, when the callback is needed,the HAL_GPIO_EXTI_Callback could be implemented in the user file*/
}
  • 参数1GPIO_Pin:同上。

以上就是结合机器翻译和我的理解对stm32l0xx_hal_gpio.h八大函数的注释解读了,英语水平让人捉急。。。有不当之处私聊我哦

蓝桥杯物联网STM32 学习记录3——HAL库GPIO函数相关推荐

  1. 【学习记录】野火stm32学习记录(一)GPIO

    观看的视频:野火-视频链接  https://www.bilibili.com/video/BV18X4y1M763 什么是GPIO? GPIO是通用输入输出端口的简称,简单来说就是STM32可控制的 ...

  2. 蓝桥杯物联网基础图文教程——GPIO输出控制LD5亮灭

    蓝桥杯物联网基础教程--GPIO输出控制LD5亮灭 (本系列教程针对一些有stm32基础的同学,需要参加蓝桥杯物联网竞赛的,对HAL库感兴趣的同学提供参考,本文不再详细赘述关于stm32基础原理指导) ...

  3. stm32cubeide外部中断_【STM32】HAL库 STM32CubeMX教程三----外部中断(HAL库GPIO讲解)

    前言 上一节我们讲解了STM32CubeMX的基本使用和工程的配置,那么这一节我们正式来学习CubeMX配置STM32的各个外设功能了 今天我们会详细的带你学习STM32CubeMX配置外部中断,并且 ...

  4. 蓝桥杯物联网竞赛基础图文教程——时钟选择

    蓝桥杯物联网竞赛基础图文教程--时钟选择 1什么是时钟 时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令.时钟系统就是CPU的脉搏,决定cpu速率,像人的心跳一样 只有有了心跳,人才 ...

  5. 【临时抱佛脚之蓝桥杯物联网日志】蓝桥杯基本情况,开发板

    一.蓝桥杯基本情况 二.了解开发板 1.LoRa 终端 2.传感器模块 温度传感器 矩阵键盘 模拟电压输出 脉冲输出 光敏与红外热释电 3.调试器 4.时钟 5.OLED显示屏 6.继电器 7.通用接 ...

  6. 蓝桥杯物联网例程下载

    今年是蓝桥杯物联网的第一届 我也是赶快买了物联网的开发板 这是附带的例程和一些综合实验 仅供参考练习 里面所有的例程大概花了两周实现了大部分(有一些例如ADC和PWM的 手头没有示波器和电压表就没有做 ...

  7. 蓝桥杯单片机比赛学习:11、频率测量的基本原理

    在蓝桥杯单片机比赛中,频率测量一次都没考过,但是也不排除不考的可能.频率测量相对前面的几个模块来说相对简单,只需要两个定时器就可以实现. 频率测量的基本原理 产生脉冲的主要元件是555定时器.555定 ...

  8. 蓝桥杯单片机比赛学习:8、PWM的基本原理之呼吸灯

    经过7节的学习,我们已经掌握了基本的硬件的使用规则,从本节开始我们开始学习一些模块的使用PWM.PCF8591.AT24C02.DS18B20.DS1302.555频率测量.光敏电阻测量.超声波测距等 ...

  9. 蓝桥杯单片机比赛学习:6、中断系统之定时器中断的基本原理

    上节我们讲了中断的外部中断,基本的了解了一下中断,这一节我们继续来学习中断系统的定时器中断基本原理,本节很重要无论是在比赛中还是在单片机.嵌入式等的学习上都有着很重要的地位.如对本作者有兴趣可以去我主 ...

最新文章

  1. DLUX组件扩展下篇-实践
  2. 国外流行十大PHP框架
  3. Dockerfile里的VOLUMES关键字
  4. qq空间网页设计_网页设计中负空间的有效利用
  5. python解析二维码_Python二维码生成识别实例详解
  6. 涂国旗(洛谷P3392题题解,Java语言描述)
  7. IIC总线的操作时序
  8. 十一假期国人消费力爆棚,国内旅游收入超6497亿,你花了多少?
  9. mybatis使用mapper代理的方式操作数据库
  10. 事件mousseenter和mouseover的区别
  11. 魔兽世界服务端开服架设服务器搭建教程
  12. 5G+MEC+V2X车联网解决方案白皮书
  13. MATLAB | 全网唯一,双变量及三变量映射图表的MATLAB绘制
  14. sprintf_s、_snprintf与_snprintf_s
  15. tabindex的使用
  16. Python数据处理性能对比,原生,Pandas,Numpy哪个更优秀
  17. python手机触屏代码_JS移动客户端--触屏滑动事件及js手机拖拽效果
  18. matlab 三围温度,matlab 两个二维温度场平面如何通过插值立体重建三维温度场
  19. 互联网时代的春秋战国
  20. 2021-06-01-《图解HTTP》笔记

热门文章

  1. 数学与计算机科学学院英文,牛玉贞 - 福州大学 - 数学与计算机科学学院
  2. Ice.ConnectFailedException
  3. 西门子PLC S7-200和S7-300有什么差别?如何进行远程上下载?
  4. 1.3寸oled(I2C)右屏幕出现一条竖线
  5. Vue3核心源码解析第十一课 AST生成代码
  6. 【阿里云仓库 可用 2022】IDEA MAVEN setings.xml 配置
  7. Element引入Iconfont(阿里巴巴矢量图标库)第三方图标库
  8. 第二届同花顺算法大赛 | 2022 | AI算法
  9. OpenStack配置Cinder出现“You must set cylinders.You can do this from the extra functions menu.”解决办法
  10. linux系统禁用声卡,Ubuntu Linux系统下声卡独占的解决方法