GPIO(General Purpose Input / Output)
입, 출력을 포함한 동작이 런타임 시 사용자에 의해 제어될 수 있는 회로 및 디지털 신호 핀을 통칭(출처: 위키)
즉 프로세서가 주변장치와 통신하기 위해 다용도로 사용되는 입, 출력 포트.(일반적으로 GPIO를 포트라고 부른다.) 각 포트를 Input, Output로 설정 가능하며 특별히 설정하기 전엔 활성화되지 않는다. 따라서 사용시 반드시 설정한다.
각 GPIO는 포트 당 3개의 I/O 레지스터를 가진다.
- DDRx : 입출력 방향 지정
- PORTx : 출력
- PINx : 입력
레지스터를 보면 알겠지만 각 포트는 I/O를 동시에 실행할 수 없다.
라즈베리에서의 GPIO
논리: 1(High) / 0(Low)
각 GPIO는 디지털 신호로 High 와 Low로 신호를 구분한다. High 의 범위는 2.7 - 3.3V 이며 Low의 범위는 0 - 0.7V.
아두이노의 GPIO 전압이 5V이기 때문에 헷갈리면 라즈베리 파이는 안녕이다.
라즈베리파이 GPIO 제어는 [[라즈베리)GPIO Ctl) WiringPi(작성중)]] 참고