본문 바로가기
Stm32/개인 학습

GPIO(3) 입력 제어

by [Akashic Records] 개발의선지자 2024. 5. 9.

※ 해당 글은 개인 공부 기록을 남겨놓는 것이 목적임으로 오류가 발생할수 있습니다.

    오류 또는 업데이트된 사항이 있다면 댓글로 알려주시면 감사하겠습니다.

    아래 글은 STM32F429ZI datasheet와 Reference manual를 기준으로 작성되었습니다.

    (임베디드 개발자에게 datasheet와 Reference manual을 지도와 나침판과 다름없이 존재)

 

해당 글에서는 stm32 GPIO 출력 제어용 레지스터와 HAL_DRIVER 함수를 정리하고자 한다.

 

입력 레지스터 제어 전 먼저 설정해야 할 것이 있다.

- 레지스터 핀 모드 설정 -> GPIOx_MODER

- 타입(풀다운 또는 풀업) -> GPIOx_PUPDR 

 

1.PIO 입력  제어 레지스터

 

 

1). GPIOx_MODER -> 출력 모드 지정( 00)

2). GPIOx_PUPDP -> Pull Up / Down 설정(01 : Pull Up, 10 : Pull Down)

3). GPIOx_IDR -> 각 비트에 대응하는 핀에 입력 데이터 표시

2.HAL_DRIVER 함수

 

GPIO 출력관련 HAL_DRIVER 함수는 stm32cubeide 프로젝트 생성시

STM32F4xx_HAL_Driver -> stm32f4xx_hal_gpio.c에서 확인할수 있다.

 

1) GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

- GPIOx : GPIO 레지스터명(A, B, C ...)

- GPIO_Pin  : 레지스터 핀 번호

- 반환 값 -> GPIO_PinState : 해당 핀 읽은 값

'Stm32 > 개인 학습' 카테고리의 다른 글

Timer[3] - PWM  (0) 2024.06.19
Timer[2] - 타이머 인터럽트  (0) 2024.06.13
Interrupt(EXTI)  (0) 2024.06.08
TIMER [1]  (0) 2024.05.09
GPIO(1)  (0) 2024.04.26