LED Blinking 코드 작성 – STM32F407G DISC1 보드

목록으로 돌아가기

머 간단하게 LED 제어하는 코드를 찾아 봤다. 아래 링크에 아주 자세하게 설명되어 있다.

> [LED Blinking Tutorial STM32F4 Discovery Board – GPIO Pins with HAL Library](https://microcontrollerslab.com/led-blinking-tutorial-stm32f4-discovery-board-gpio-hal-library/)

핵심 코드는 아래

void StartDefaultTask(void *argument)
{
  /* init code for LWIP */
  MX_LWIP_Init();

  /* init code for USB_HOST */
  MX_USB_HOST_Init();
  /* USER CODE BEGIN 5 */
  /* Infinite loop */
  for(;;)
  {
    osDelay(10);
    HAL_GPIO_WritePin(VBUS_SW_GPIO_Port, VBUS_SW_Pin, GPIO_PIN_RESET);
    HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_SET);
    osDelay(1000);
    HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_RESET);
    osDelay(1000);
  }
  /* USER CODE END 5 */
}

당연히 보드에 해당 핀이 연결되어 있으니 편하게 할 수 있다. STM32F407G-DISC1 보드는 아래 처럼 LED가 이미 연결되어 있다.

![](assets/images/2023/02/image-8.png?resize=1024%2C707&ssl=1)

자신의 보드라면 해당 핀에 LED를 연결해야 한다.

STM32CubeIDE 를 사용한다면 ioc 파일을 열어 해당 핀을 아래 그림처럼 GPIO_Output으로 설정하고, 원하는 지점에 위의 코드를 참고해서 추가하면 LED가 막 켜졌다 꺼졌다 한다.

![](assets/images/2023/02/image-5.png?resize=857%2C732&ssl=1)

결과는 아주 LED가 빨, 파, 녹, 주황인가 이렇게 블링 블링하네

레퍼런스 사이트

https://medium.com/@rlamarrr/introduction-to-stm32cube-blinking-an-led-61469168f9e4

author-profile
Written by bj