一.GPIO控制
1.1 输出
1.1.1 设置GPIO电平
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
GPIOx :其中x可以(A..G取决于所使用的设备)来选择GPIO外设;
GPIO_Pin :指定要写入的端口位。此参数可以是GPIO_PIN_x之一,其中x可以是[0,15];
PinState :指定要写入选定位的值。此参数可以是GPIO_PinState枚举值之一:
GPIO_PIN_RESET: 低电平
GPIO_PIN_SET: 高电平
eg:HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);
设置A1为高电平
1.1.2 GPIO电平翻转
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
GPIOx :其中x可以(A..G取决于所使用的设备)来选择GPIO外设;
GPIO_Pin :指定要写入的端口位。此参数可以是GPIO_PIN_x之一,其中x可以是[0,15]。
eg:HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_1);
翻转A1电平
1.2输入
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
GPIOx :其中x可以(A..G取决于所使用的设备)来选择GPIO外设;
GPIO_Pin :指定要写入的端口位。此参数可以是GPIO_PIN_x之一,其中x可以是[0,15];
返回结构体如下:
typedef enum
{
GPIO_PIN_RESET = 0u,//低电平
GPIO_PIN_SET//高电平
} GPIO_PinState;
这篇博客详细介绍了STM32微控制器中GPIO的使用,包括如何设置GPIO电平和进行电平翻转。通过示例代码`HAL_GPIO_WritePin`和`HAL_GPIO_TogglePin`,演示了如何控制GPIO_A1的高电平设置和电平翻转操作。
2041

被折叠的 条评论
为什么被折叠?



