从原理图上找到LED所连接的两个引脚PF9,PF10
这里先不用MX配置GPIO状态
而是自己调用hal函数去初始化和控制
/* USER CODE BEGIN 2 */
//GPIO总线时钟默认不打开,所以先调用GPIOF的时钟线使能。
__HAL_RCC_GPIOF_CLK_ENABLE();`在这里插入代码片`
//配置PGIO初始化,这些参数在头文件 芯片型号_hal_gpio.h 中可以看到定义
GPIO_InitTypeDef led_init;
led_init.Pin = GPIO_PIN_9 | GPIO_PIN_10;
led_init.Mode = GPIO_MODE_OUTPUT_PP;
led_init.Pull = GPIO_NOPULL;
led_init.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOF, &led_init);
//因为led电路设置为共阴极,输出低电平为点亮LED
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9 | GPIO_PIN_10, GPIO_PIN_RESET);
/* USER CODE END 2 */
添加延时函数进行闪烁
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9 | GPIO_PIN_10, GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9 | GPIO_PIN_10, GPIO_PIN_RESET);
}
/* USER CODE END 3 */
跑马灯
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9 , GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_RESET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9 , GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_SET);
}
/* USER CODE END 3 */