一.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;