Cubemx和HAL开发:学习笔记(一)——GPIO探索之旅
1.HAL_GPIO_WritePin函数介绍
HAL库中提供一个操作GPIO电平的函数:HAL_GPIO_WritePin函数
void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState
函数名 | HAL_GPIO_WritePin |
---|---|
函数作用 | 使得对应的引脚输出高电平或者低电平 |
返回值 | Void |
参数1:GPIOx | 对应GPIO总线,其中x可以是A…I。 例如PH10,则输入GPIOH |
参数2:GPIO_Pin | 对应引脚数。可以是0-15。例如PH10,则输入GPIO_PIN_10 |
参数3:PinState | GPIO_PIN_RESET:输出低电平;GPIO_PIN_SET:输出高电平 |
例:
//set GPIO output high level
//设置GPIO 输出高电平
void ledup(){
HAL_GPIO_WritePin(ledr_GPIO_Port, ledr_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(ledg_GPIO_Port, ledg_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(ledb_GPIO_Port, ledb_Pin, GPIO_PIN_SET);
}
2.HAL_Delay函数介绍
HAL库提供了用于毫秒级延迟的函数,HAL_Delay函数(使用_weak修饰符说明该函数是可以用户重定义的)。
__weak void HAL_Delay(uint32_t Delay)
函数名 | HAL_Delay |
---|---|
函数作用 | 使系统延迟对应的毫秒级时间 |
返回值 | Void |
参数:Delay | 对应的延迟毫秒数,比如延迟1秒就为1000 |
3.HAL_GPIO_TogglePin函数介绍
HAL库中提供一个反转GPIO电平的函数。
void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
函数名 | HAL_GPIO_TogglePin |
---|---|
函数作用 | 翻转对应引脚的电平 |
返回值 | Void |
参数1:GPIOx | 对应GPIO总线,其中x可以是A…I。 例如PH10,则输入GPIOH |
参数2:GPIO_Pin | 对应引脚数。可以是0-15。例如PH10,则输入GPIO_PIN_10 |
例:
//set GPIO output high level
//设置GPIO 输出高电平
void ledtoggle(){
HAL_GPIO_TogglePin(ledr_GPIO_Port, ledr_Pin);
HAL_GPIO_TogglePin(ledg_GPIO_Port, ledg_Pin);
HAL_GPIO_TogglePin(ledb_GPIO_Port, ledb_Pin);
}