GPIO(General Purpose Input/Output)
- GPIO는 컴퓨터와 외부 장치 간에 데이터를 주고받기 위한 범용 입출력 인터페이
스로, 마이크로프로세서와 마이크로컨트롤러 같은 임베디드 하드웨어에서 디지털
또는 아날로그 신호를 주고받기 위해 사용될 수 있다. 예를 들어, 라즈베리파이 4
모델 B에는 총 40개의 GPIO 핀이 있어 다양한 외부 장치와 연결할 수 있다.
GPIO의 주요 특징
- 다양한 핀 구성 : GPIO는 수 개에서 수십 개의 핀으로 구성되어 있으며, 라즈베리파이 4 B의 경우 40개의 핀이 있다.
- 유연한 사용 : 몇몇 필수 핀을 제외하고는 모든 핀의 기능이 미리 정해져 있지 않아, 사용자가 필요에 따라 입출력 핀의 역할을 설정할 수 있다.
- 입출력 선택 : 각 핀은 입력 또는 출력 중 하나의 기능을 선택하여 사용할 수 있다.
- 전원 공급 가능 : GPIO 핀을 통해 외부 하드웨어에 전원을 공급할 수 있다.
- 소프트웨어 제어 : GPIO 핀으로 송수신되는 신호는 소프트웨어를 통해 제어될 수 있다. 이를 통해 하드웨어와의 상호작용이 가능하다.
- 스포트웨어를 통해 GPIO에 연결된 장치와 데이터를 주고받을 수 있다. GPIO는 디지털 신호를 주고받는데, 이 신호는 전압 수준에 따라 결정된다.
- 디지털 값 1(이진수 1) : 3.3V OR 5V로 표현되며, 이 상태를 보고 HIGH라고 부른다
- 디지털 값 0(이진수 0) : 0V OR GND로 표현되며, 이 상태를 보고 LOW라고 부른다.
GPIO 라이브러리
- GPIO와의 상호작용을 간편하게 할 수 있는 다양한 소프트웨어 라이브러리가 존재한다. 이를 통해 코드에서 간단하게 핀 설정, 신호 송수신 등을 제어할 수 있다.
GPIO 모드
- 응용 프로그램에서 GPIO 핀을 사용할 때, 핀 번호를 설정하는 방식에는 두 가지가 있다. 이 두가지 방법을 통해 개발자는 GPIO 핀을 제어할 수 있다