Embedded

ARM Cortex M4 core - (1) GPIO로 LED 동작

MiddleJo 2024. 9. 4. 14:53

Test_GPIO.zip
9.17MB

목차

1. 배경

2. 보드 구성 및 소스코드

3. 실습결과

 

 

1. 배경

GPIO는 사용자가 다양한 목적으로 자유롭게 사용할 수 있도록 마련해둔 Pin입니다.

LED를 다룬다거나, 다른 Bread board에 실험을 하는 등

다양한 곳에서 사용하는 가장 기초이기 때문에 먼저 학습하겠습니다.

2. 보드 구성 및 소스코드

기본적으로, Board Select 선택 시 불필요한 기능이 포함되어

코드가 길어지고 보기 불편합니다.

따라서 MCU 방법으로 직접 세팅하겠습니다.

기본 상태에서 코딩이 필요한 부분만을 언급할 예정이며,

자세한 것은 첨부된 파일을 참고하시면 됩니다.

 

 

 

NUCLEO-F429ZI 메뉴얼을 참고하여

몇가지 실험할 포트만 활성화 하였습니다.

이 때, Closed 되어 있는 포트만 골라야 합니다.

아니라면 따로 납땜하여 달아야 사용이 가능한 경우도 있습니다.

 

 /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
	     if (HAL_GPIO_ReadPin(GPIOF, GPIO_PIN_14) == GPIO_PIN_SET)
	     {
	        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET);
	     }
	     else
	     {
	        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET);
	     }
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

 

 

포트 F14 에 HIGH 신호가 들어오면, 포트 B01를 LOW 신호로 바꾸고

그 외에는 HIGH 신호로 유지합니다.

 

 

3. 실습결과

 

 

 

스위치를 눌러 PF14에 HIGH 신호를 전달하면,

PB1에 연결된 전구의 불이 꺼짐을 확인할 수 있습니다.