이건 실습은 하지 않았지만...
I2C, UART와 함께 보드의 대표적인 통신방법이므로 정리만 하려고 한다.
I2C와의 통신처럼 SCK로 공통 CLOCK시그널을 만들어 주어 동기화를 시키게된다.
MOSI는 Master Output, Slave Input으로 마스터 -> 슬레이브 전송데이터이다.
MISO는 반대로 Master Input, Slave Output으로 슬레이브 -> 마스터 전송데이터이다.
SS(= CS)는 Slave Select로 어떤 슬레이브를 선택할지 판단하는데 사용된다.
양쪽이 모두 각각에게 보내는 통신선이 존재하므로 Full - Duplex 통신이라고 할 수 있다. I2C 통신과의 가장 큰 차이로 볼 수 있을 것이다. I2C통신은 데이터 통신선이 하나로만 존재하였기 때문에 반 이중통신으로 동시에 서로 데이터 교환이 불가능하다.
또한 기본적인 전송 방식은 위와 같이 MSB에서 상대의 LSB로 전송하고, Shift 연산을 통해 한비트씩 전송하는 방식이다.
밀려난 쓰레기값의 경우 상대방이 인식해 필요하다면 처리, 아니면 버리면 된다.
'아두이노' 카테고리의 다른 글
[아두이노] BLE 통신 (0) | 2024.08.08 |
---|---|
[아두이노] WiFi 통신 (0) | 2024.08.06 |
[아두이노] I2C 통신 (0) | 2024.08.05 |
[아두이노] UART 통신 (0) | 2024.08.05 |
[아두이노] PWM으로 LED 밝기 제어 (0) | 2024.08.05 |