嵌入式-STM32-GPIO输出和输入的HAL库函数

GPIO输出HAL库函数,设定或改变当前引脚电平值

  1. 电平输出HAL函数,返回空
HAL_GPIO_WritePin(GPIO_TypeDef* GPIOX,Uint16_t GPIO_Pin,GPIO_PinState pinstate);

其中:
GPIOX代表目标引脚的端口号,例如GPIOB。
GPIO_Pin代表目标引脚的引脚号,例如GPIO_Pin_5。
pinstate代表当前引脚的高低电平,高电平(GPIO_PIN_SET)、低电平(GPIO_PIN_RESET)。

  1. 电平翻转HAL函数,返回空
HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOX,Uint16_t GPIO_Pin);

GPIO输入HAL库函数,检测当前引脚电平:返回值是0或1,即高电平(GPIO_PIN_SET)、低电平(GPIO_PIN_RESET)。

HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOX,Uint16_t GPIO_Pin);

可用if(xxx==1){}语句来执行按键按下后跳转的功能。

按键扫描的原理
按键的两个引脚的一端通过下拉电阻拉倒低电平,另一端接着电源。当按下开关时,输入引脚为高电平。通过反复读取按键状态是否为高电平判断按键是否被触发。(霸道zet6)在这里插入图片描述
按键消抖
因霸道ZETX系列,带上拉电容物理消抖,所以不用软件消抖。
按键检测到高电平不一定是按键被按下,可能是干扰信号。通过先检测到按键按下的信号,然后隔一定时延再次检测,若还是按键被按下状态则认为是按键被按下,否则认为是干扰信号。

宏定义
使用自定义关键词(满足驼峰命名法)替代具体函数使得主函数更加简洁,宏定义可在.h文件中也可在.c文件中。例如:使用KeyState代替端口状态监测。
语法:
#define 驼峰变量名 功能函数

#define KeyState1 HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)
#define KeyState2 HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13)

在这里插入图片描述

在这里插入图片描述

  • 6
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 介绍和使用方法 STM32 HAL 库提供了一组 API 函数,可用于访问 LCD/TFT 控制器(LTDC)的控制器和显示器的功能。LTDC API 提供了一组函数,可用于配置和控制 LTDC 的功能,并可访问 LTDC 的控制器和显示器的配置和状态。使用 LTDC API,可以轻松地实现屏幕分辨率,颜色深度,显示模式,定器,更新窗口等功能。 ### 回答2: STM32 HAL库中的LTDC(LCD TFT Display Controller)相关函数用于驱动和控制液晶显示屏。 首先,在使用LTDC之前,需要初始化LTDC控制器。可以使用函数`HAL_LTDC_Init()`对LTDC进行初始化配置,包括像素钟分频、同步信号、垂直和水平同步信号脉冲宽度等。在初始化后,可以使用其他LTDC函数来设置像素格式、颜色映射和背光等。 然后,可以使用`HAL_LTDC_SetPitch()`函数设置像素行的步进值,以便根据需要调整图像显示的宽度和高度。使用`HAL_LTDC_SetAddress()`函数设置LTDC图层的显存地址。 另外,通过使用`HAL_LTDC_ConfigLayer()`函数配置LTDC图层,可以设置图层大小、像素格式和透明度等。可以使用`HAL_LTDC_SetWindowPosition()`和`HAL_LTDC_SetWindowAlpha()`函数设置图层窗口位置和透明度。 在所有设置完成后,可以使用`HAL_LTDC_Start()`函数启动LTDC的显示过程,并通过调用`HAL_LTDC_Reload()`函数来重新加载数据以更新显示内容。 如果需要采取某种操作更改LTDC的显示,可以使用相关的`HAL_LTDC`函数来控制图层的启用/禁用、透明度、混合模式等。 总的来说,STM32 HAL库中的LTDC相关函数提供了一套方便易用的界面,用于配置和控制LTDC控制器,实现液晶屏的高效显示和更新操作。无论是在嵌入式系统还是工业控制领域,这些函数都为开发人员提供了良好的支持,以实现图形界面的设计和交互。 ### 回答3: STM32 HAL库中的LTDC(Layered Transmission Display Controller)是用于控制液晶显示屏的功能模块。LTDC库函数提供了一系列API函数,用于配置和控制LCD屏幕的参数、图层和显示内容。 首先,我们需要通过使用函数`HAL_LTDC_Init()`来初始化LTDC控制器。该函数将会对LTDC控制器进行配置,设置相关的钟和GPIO引脚,并启用LTDC控制器。 然后,我们可以使用`HAL_LTDC_SetPitch()`函数来设置屏幕像素在内存中的布局方式。通过调用`HAL_LTDC_LayerCfgStruct()`函数,我们可以配置和初始化图层的参数,如图层尺寸、像素格式、颜色模式和透明度等。可以通过调用`HAL_LTDC_ConfigLayer()`来启用或禁用每个图层。 接下来,我们可以通过`HAL_LTDC_SetWindowPosition()`函数来设置图层在屏幕上的位置,以及`HAL_LTDC_SetWindowAlpha()`函数来设置图层的不透明度。此外,我们还可以使用`HAL_LTDC_SetWindowColorKeying()`函数来设置颜色键功能,以选择无需绘制的颜色。 在配置完图层参数之后,我们可以使用`HAL_LTDC_SetPixelFormat()`函数来设置像素格式,如RGB565、RGB888等。通过调用`HAL_LTDC_SetAddress()`函数,我们可以设置用于显示的帧缓冲区的地址。可以使用`HAL_LTDC_SetLength()`和`HAL_LTDC_SetLineOffset()`函数来设置帧缓冲区的行长度和偏移量。 最后,在完成所有配置和参数设置之后,我们可以通过调用`HAL_LTDC_EnableCLUT()`函数来启用颜色查询表,以映射多个颜色到屏幕上。最终,可以通过`HAL_LTDC_Reload()`函数重新加载LTDC控制器来应用所有配置的更改。 综上所述,STM32 HAL库中的LTDC相关函数提供了一套完整的接口,用于配置和控制LCD屏幕的参数、图层和显示内容。通过使用这些函数,我们可以方便地操作LTDC控制器,实现液晶显示屏的相关功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值