2024-09-07 16:55:08

 

STM32CubeIDE에서 GPIO 설정을 할 때 여러 옵션이 제공되는데, 각각의 설정 옵션에 대해 간단히 설명한다. 이 설정들은 CubeMX 통합 환경에서 GPIO 핀의 기능과 특성을 정의하는 데 사용된다. 이 전 포스팅에서 STM32 내장 LED를 제어하기 위해 GPIO Output을 설정하였으니 참고하길 바란다.

1. GPIO Output Level

GPIO 출력 레벨은 핀이 출력 모드일 때 초기 출력 상태(높음 또는 낮음)를 설정한다. 이 설정은 핀이 디지털 출력으로 구성될 때 중요하며, 기기가 리셋되거나 전원이 켜질 때 핀의 상태를 결정한다.

  • High (높음): 핀의 초기 상태를 높은 전압(보통 VDD)으로 설정한다.
  • Low (낮음): 핀의 초기 상태를 낮은 전압(GND)으로 설정한다.

이 설정은 GPIO 핀의 초기 출력 상태를 높은 전압(보통 VDD에 해당)으로 설정한다. 프로세서가 리셋되거나 전원이 처음 켜질 때, 이 핀은 높은 상태로 시작된다. 이것은 핀이 구성을 완료하기 전의 초기 상태를 정의한다.

2. GPIO Mode

GPIO 모드는 핀의 작동 모드를 정의한다. 이는 핀이 데이터를 입력받을지, 출력할지 또는 다른 특별한 기능을 수행할지를 결정한다.

  • Input (입력): 핀이 입력 모드로 설정되어 외부 신호를 받을 수 있다.
  • Output PP (푸시-풀 출력): 핀이 디지털 출력으로 설정되며, 푸시-풀 드라이버를 사용한다.
  • Output OD (오픈 드레인 출력): 핀이 오픈 드레인 출력으로 설정되며, 외부 풀업 저항이 필요하다.
  • Alternate Function (대체 기능): 핀이 특정 페리페럴(예: SPI, I2C)에 할당되도록 설정된다.
  • Analog (아날로그): 핀이 아날로그 모드로 설정되어 ADC와 같은 아날로그 페리페럴에 사용된다.

GPIO Mode : Output Push Pull
Output Push Pull 모드는 GPIO 핀을 일반적인 디지털 출력으로 설정한다. 이 모드에서 핀은 출력 신호를 양방향으로 제어할 수 있다. 즉, 핀은 전원(VDD)과 접지(GND) 사이를 스위칭 할 수 있어, 연결된 부하(예: LED)를 직접 드라이브할 수 있다.

3. GPIO Pull-up/Pull-down

핀의 내부 풀업 또는 풀다운 저항을 활성화하여 불필요한 입력 노이즈나 불확실한 상태를 방지한다.

No Pull-up/Pull-down (풀업/풀다운 없음): 저항 없이 설정되어 있어 외부에서 명확한 신호 레벨을 제공해야 한다.
Pull-up (풀업): 내부 풀업 저항을 활성화하여 핀을 기본적으로 높은 상태로 유지한다.
Pull-down (풀다운): 내부 풀다운 저항을 활성화하여 핀을 기본적으로 낮은 상태로 유지한다.

GPIO Pull-up/Pull-down 설정: Pull-down
풀다운 저항을 활성화하는 설정이다. 이 설정은 핀을 기본적으로 낮은 상태로 유지하도록 내부적으로 저항을 연결한다. 그러나 LED 제어의 경우, 풀다운 설정은 종종 사용되지 않거나 필요하지 않는다. 왜냐하면 LED를 켜고 끄는 제어는 핀의 High와 Low 상태에 의해 결정되기 때문이다. 이 설정은 주로 입력 모드에서 떠돌이 전압을 방지하기 위해 사용된다.

4. Maximum Output Speed

최대 출력 속도는 핀의 전환 속도(저속, 중속, 고속, 매우 고속)를 설정한다. 이는 신호의 빈도와 전류 요구 사항에 따라 선택된다.

  • Low Speed
  • Medium Speed
  • High Speed
  • Very High Speed

5. User Label

사용자 라벨은 핀에 사용자 정의 이름을 할당하여 프로젝트 내에서 핀을 더 쉽게 식별하고 참조할 수 있도록 하는 기능이다. 이 이름은 코드에서 해당 핀을 참조할 때 사용되며, 코드의 가독성과 유지 관리를 향상시키는 데 도움이 된다.
이러한 설정들은 STM32 마이크로컨트롤러의 GPIO 핀을 정확하고 효과적으로 구성하여 다양한 하드웨어 기능과 상호작용할 수 있게 해준다.

 

728x90
반응형

'Embeded SW > STM32' 카테고리의 다른 글

[STM32] 3. 내장 LED 제어  (9) 2024.09.04
[STM32] 2. STM32 LINK 업데이트  (1) 2024.09.02
[STM32] 1. Cube IDE 시작하기.  (2) 2024.09.01