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)에서 실시간으로 들어오는 센서, 변수 등 레지스터 확인 가능
'임베디드 (Embedded) > STM32' 카테고리의 다른 글
[STM32] NUCLEO-F429ZI overcurrent LD5 켜지는 이유 (0) | 2023.10.20 |
---|---|
[STM32] NUCLEO-F429ZI Board Selector로 led, 외부 버튼 실습 (0) | 2023.10.20 |
[STM32] NUCLEO-F429ZI led 깜빡이는 간단 예제 (0) | 2023.10.19 |
STM32 설치 및 nucleo-F492ZI 연결 설정 (0) | 2023.10.19 |
[STM32] NUCLEO-F429ZI 관련 용어 (0) | 2023.10.19 |