开漏输出模式(带上拉或者下拉) 在开漏输出模式时,只有N-MOS管工作,如果我们控制输出为0,低电平,则P-MOS管关闭,N-MOS管导通,使输出低电平,I/O端口的电平就是低电平,若控制输出为1时,高电平,则P-MOS管和N-MOS管都关闭,输出指令就不会起到作用,此时I/O端口的电平就不会由输出的高电平决定,而是由I/O端口...
if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0) == GPIO_PIN_SET) // 判断引脚是否为高电平 { // 做一些操作... } ``` 四、GPIO应用示例代码 下面是一个简单的示例,说明如何使用HAL库配置一个GPIO引脚并控制其电平: ```c #include "stm32f4xx.h" #include "stm32f4xx_hal.h" void GPIO_Config(vo...
__HAL_RCC_GPIOA_CLK_ENABLE();//使能GPIOA时钟/*Configure GPIO pin Output Level*/HAL_GPIO_WritePin(GPIOA, DONG_OUT_1_Pin|DONG_OUT_2_Pin, GPIO_PIN_RESET);//设置上电电平为低/*Configure GPIO pins : PAPin PAPin*/GPIO_InitStruct.Pin= DONG_OUT_1_Pin|DONG_OUT_2_Pin;//两个GPIO_PINGP...
使用HAL库进行GPIO配置 了解了八大工作模式后我们就可以进行GPIO的配置 同样HAL库提供了一个很方便的配置函数 HAL_GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_Init)//GPIOx为引脚组名 其中最主要的参数就是struct GPIO_InitTypeDef这个结构体的配置 在STM32F1xx_HAL_GPIO.H这个文件中我们可以看到这个结构...
17.3.1 函数HAL_GPIO_Init 函数原型: 代码语言:javascript 复制 voidHAL_GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_Init){/* 部分省略未写 *//* 配置GPIO引脚,这些采用16个引脚的循环检测模式 */for(position=0;position<GPIO_NUMBER;position++){/* 部分省略未写 */if(iocurrent==ioposition){...
1、HAL库GPIO输入模式在cubemx中的配置及注意事项; 2、HAL库GPIO输入模式操作详解与结构介绍; 3、利用GPIO输入功能实现基本按键及多功能按键代码移植; 源码地址:https://gitee.com/MR_Wyf/hal-cubemx-rt-thread.git HAL库GPIO输入模式在cubemx中的配置 ...
1. HAL_GPIO_ReadPin():读取GPIO引脚的状态,返回值为GPIO_PIN_RESET或GPIO_PIN_SET。 2. HAL_GPIO_WritePin():设置GPIO引脚的状态,参数为GPIO_PinState类型,可以设置为GPIO_PIN_RESET或GPIO_PIN_SET。 3. HAL_GPIO_TogglePin():反转GPIO引脚的状态。 4. HAL_GPIO_ReadPort():读取GPIO端口的状态,返回值为...
但如果某一个IO口启用了复用功能(不论输入还是输出),虽然HAL库提供的GPIO读函数依然有效,但禁止使用HAL库提供的写函数修改IO口电平状态,同时也不建议读取IO口电平状态。 GPIO的结构: GPIO的结构 GPIO的结构大同小异。就输入电压而言,可以分为两类,一类是支持5V容忍度的IO,一类是不支持5V容忍度的IO。所谓的5V...
HAL库详解:GPIO&UART 1. 🔄 翻转引脚电平 `HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);` 这个函数用于翻转指定引脚的电平状态。例如,`HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_1);` 将翻转GPIOA端口的第1引脚的电平,常用于LED灯的闪烁效果。 2. 📡 中断接收数据 `HAL_UART_Receive_IT...
HAL_GPIO_WritePin:写入引脚电平 HAL_GPIO_TogglePin:翻转引脚电平 HAL_GPIO_LockPin:所以引脚当前电平,将无法改变 HAL_GPIO_EXTI_IRQHandler:引脚的中断服务函数 HAL_GPIO_EXTI_Callback:引脚的中断回调函数 */ GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin); ...