서론
임베디드에서 가장 많이 쓰이는 인터페이스 중 하나인 SPI는 Full Duplex를 지원한다고 한다. Full Duplex는 무엇인가
Full Duplex, Half Duplex, Simplex
Full Duplex(전이중 통신), Half Duplex(반이중 통신), Simplex(단방향 통신)는 두 디바이스 간 통신에서 방향성을 정의하는 용어다.
Full Duplex
- 두 디바이스간 통신선이 두 개(송신선, 수신선)
- 송신선과 수신선선이 각각 존재하므로 데이터 송신과 동시에 수신이 가능

Half Duplex
- 두 디바이스 간 통신선이 하나
- 한쪽 디바이스에서 송신과 수신 모두 가능
- 하나의 통신선으로 송신과 수신을 해야 하므로 송신과 수신을 동시에 할 수 없다. 한쪽이 송신 시 다른 쪽에서는 수신만 가능
- 송신과 수신을 번갈아가며 통신할 때 데이터 전송 간격이 짧고 속도가 빠르면 마치 Full Duplex 같이 느껴짐

Simplex
- 두 디바이스 간 통신선이 하나
- 송신측과 수신 측이 미리 정해져 있어 한쪽으로만 전송 가능
