본문 바로가기
임베디드 (Embedded)/STM32

[STM32] NUCLEO-F429ZI HAL 드라이버 및 GPIO 제어

by 기딩 2023. 10. 19.
728x90

GPIO (General Purpose Input / Output)

다용도 입출력 포트 또는 핀

특정 목적 없이 일반적인 용도로 사용

cpu 입장에서 입,출력 장치 연결하여 제어할 때 사용하는 포트

 

핀 이름이 P(Port)로 시작하는 모든 핀들은 GPIO로 사용 가능

= 디지털 입력,출력이 가능함

 

HAL 드라이버 (Hardware Abstraction Layer)

(할 드라이버)

없어도 레지스터 직접 접근 등 직접 구현할 수 있긴 하지만 번거로움.

 

HAL 드라이버용 데이터 구조체

- 주변 장치 핸들링용 구조체

- 초기화 및 동작 조건 설정용 구조체

- 작업 수행용 구조체

 

HAL_Init()

MCU 초기화 위한 함수

- 파라미터, 리턴 값 없음

HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) 

GPIO HAL API- GPIO를 설정조건에 맞춰 초기화

- 리턴 없음

HAL_GPIO_DeInit( GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin )

GPIO를 리셋시의 디폴트 값으로 설정(초기화 해제)

- 리턴 없음

 

HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)

HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, unit16_t GPIO_Pin, GPIO_PinsState PinState)

 

핸들러로 스위치 눌렸는지 안 눌렸는지 확인할 수 있음

 

디버그 모드(F11)에서 실시간으로 들어오는 센서, 변수 등 레지스터 확인 가능

 

 

728x90