본문 바로가기

Embedded Programming (STM)/STM32F411RE

STM32 (9월 12일, STM32 입문 - (1))

1. STM32 시작

  • 오늘부터 STM32를 배우기 시작했기 때문에 STM32에 대한 게시글을 올리고자 한다.
  • 먼저 제일 간단한 LED를 On 하는 것부터 차근차근 구현하고자 한다.
  • 이를 위해 HAL 함수를 이용하여 구현하도록 하겠다.

 

 

 

2. STM32보드에 있는 LD2, LED를 1초마다 깜박이도록 만들자.

2.1. 1단계) 몇 번핀을 OUTPUT으로 설정해야하는가? 


    • Q) STM32보드상에 있는 LD2, LED를 On하기 위해서는 몇 번 핀을 OUTPUT으로 설정해야 하는가?

      A) 이는 STM32 보드의 회로도를 보고, 어떤 핀이 LD2와 연결되었는가?를 살펴볼 필요가 있다.

 

  • 위 STM32의 회로도를 통해 LD2, LED와 D13과 회로로 연결되어 있음을 확인 할 수 있다.

  • 또한, 위 STM32의 핀들 중 PA5번 핀과 D13이 회로로 연결되어 있음을 확인할 수 있다.
  • 이는 즉, PA5핀을 OUTPUT으로 설정함으로서 LD2, LED을 ON할 수 있음을 회로도를 통해 확인할 수 있다.

 

 

2.2. 2단계) STM32의 Pin configuration에서 PA5핀을 GPIO_OUTPUT으로 설정한다.

  • 프로젝트에서 ioc 파일을 더블 클릭하면 Pin configuration 창을 볼 수 있다.
  • PA5핀을 클릭 한 뒤, PA5핀을 GPIO_OUTPUT으로 설정한다.
  • GPIO_OUTPUT으로 설정하면 PA5핀이 초록색으로 변한 것을 확인할 수 있다.
  • GPIO 설정이 끝나면 Control + S를 눌러 설정 사항을 저장한다.

 

2.3. 3단계) 프로젝트의 main.c 파일에서 HAL 함수를 이용하여 PA5핀의 값을 수정한다.

  • HAL 함수를 이용하여 PA5핀 값을 0.5초 동안 1을 출력하고, 0.5초 동안 0을 출력하도록 설계하였다.
  • 이를 통해 STM 보드의 LD2, LED는 1초를 주기로 깜박꺼리게 된다.
  • HAL_Delay 함수는 ms 단위로 Delay Time을 갖는다.
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, 1);
	  HAL_Delay(500); // 500ms

	  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, 0);
	  HAL_Delay(500); // 500ms

    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

 

 

 

2.4. 코드 작성을 끝내면 Build Project한 뒤, Run한다.

  • 아래 사진과 같이 해당 프로젝트를 Build 한 뒤, Run Project 한다.

 

 

 

 

 

 

2.5. 구현 

'Embedded Programming (STM) > STM32F411RE' 카테고리의 다른 글

STM32 (9월 12일, STM32 입문 - (2))  (0) 2024.09.12