
硬件准备 这里准备了2块开发板进行验证,分别是GD32303C_START开发板。 ![]() 开发板管脚配置 在GD32303C_START中的LED管脚配置如下所示。 ![]() HAL_GPIO_Init()函数 该函数的作用是根据GPIO_Init中指定的参数初始化GPIOx外设。 ![]() 由于是对管脚进行初始化定义,一般在mian()函数初始化中。 而在主程序的初始化中,有个注释是初始化所有配置的外设,点击查看这个函数。 ![]() 在MX_GPIO_Init()可以看到,这里对管脚进行了初始化的配置。 ![]() HAL_GPIO_DeInit()函数 该函数的作用是重置GPIO口,由下图可知,该函数输入GPIO管脚号即可初始化对应的GPIO。 ![]() HAL_GPIO_WritePin()函数 该函数的作用是设置或清除选定的数据端口位。 一般情况下是配置GPIO输出高低电平。 ![]() HAL_GPIO_TogglePin()函数 该函数的作用是翻转选定的数据端口位。 一般情况下是切换GPIO输出电平状态。 ![]() HAL_GPIO_LockPin()函数 锁定GPIO引脚配置寄存器,就是将GPIO的模式锁定,例如有个GPIO已经设定为推挽输出模式,只要将该GPIO锁定,后面你的代码执行该GPIO变成输入模式的代码将不起作用,最主要作用是在强干扰环境下防止意外跑飞导致修改io的模式状态导致严重意外问题,一般情况下不适用该函数。 ![]() |
【有奖体验】STM32Cube通过Clang/LLVM支持进一步简化代码开发
STM32CubeMX应用结构选择指南
经验分享 | STM32CubeMX 生成时钟获取函数的分析
兔哥的最强U5图显【000】——U5G9最小系统绘制
兔哥的ST67——【000】ST67模组订购
基于LORA的环境感知系统
经验分享 | 使用CubeMx配置NVIC时为何不见子优先级?
经验分享 | 三个 ADC 同步模式配置以及 CubeMx 错误配置的解决方法
兔哥的边缘AI【001】——DIY-STM32N6全IO扩展板
兔哥的BLE【002】-WB09最小系统板PCB设计