GPIO输出
常用函数
void HAL_GPIO_WritePin(GPIOx, GPIO_Pin, PinState)
作用:向IO写0/1参数GPIOx:组编号,x取A到D。参数GPIO_Pin:引脚编号,GPIO_PIN_0到15(GPIO_PIN_13)参数PinState:要写的值,GPIO_PIN_RESET或GPIO_PIN_SET(写0或写1)。
例如,向PC13写0:HAL_GPIO_WritePin(GPIOC, GPIO_Pin_13, GPIO_PIN_RESET)
void HAL_Delay(uint32_t Delay)
作用:延时一段时间参数Delay:要延迟的时间长度,单位ms。例如延迟0.5秒,就写500。
示例:闪灯实验
123456789101112131415 | /* USER CODE BEGIN WHILE */while (1){HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOA,GPIO_PIN_9,GPIO_PIN_SET); HAL_Delay(500); HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOA,GPIO_PIN_9,GPIO_PIN_RESET); HAL_Delay(500); /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */} |
GPIO输入
常用函数
GPIO_PinState HAL_GPIO_ReadPin(GPIOx,GPIO_PIN)
作用:读取IO的当前值。参数GPIOx:组编号,x取A到D参数GPIO_Pin:引脚编号,GPIO_PIN_0到15(例如GPIO_PIN_13)返回值:IO引脚的读数,GPIO_PIN_RESET代表0,GPIO_PIN_SET代表1。
示例:按下按钮点亮灯,松开灭灯
123456789101112131415 | /* USER CODE BEGIN WHILE */while (1){if(HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_2) == GPIO_PIN_SET)//PE2按钮没有被按下{ HAL_GPIO_WritePin(GPIOE,GPIO_PIN_3,GPIO_PIN_SET);//熄灭PE3的灯}else//PE2按钮被按下{ HAL_GPIO_WritePin(GPIOE,GPIO_PIN_3,GPIO_PIN_RESET);//点亮PE3的灯} /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */} |