---
id: 시리얼 통신(Serial Communication) 20260504
created: 2026-05-04 09:22
tags:
aliases:
  - 직렬통신
---
## 💡 생각  
구식 통신연결방식이다 생각하면 됨. 옛날꺼니까 단점이 많음
이미 serial로 연결해서 사용중이던 장비를 다뤄야 하는 경우에나 보게되거나 사용하게 됨.
[[RS-232]]는 생각보다 꽤 범용적으로 사용했던거라 아직까지도 남아있는 경우가 있음

---
## 📑 개념
데이터를 하나의 선(Channel)을 통해 **한 번에 1비트씩 순차적으로 전송**하는 방식입니다.
현대의 USB, 이더넷, 그리고 임베디드 시스템에서 널리 쓰이는 RS-232, RS-485 등이 모두 여기에 속합니다.

---

## 1. 핵심 개념: 직렬 vs 병렬

데이터를 보낼 때 여러 개의 선을 사용하는 병렬 통신과 달리, 시리얼 통신은 최소한의 선으로 데이터를 보냅니다.

- **직렬(Serial):** 한 줄로 서서 차례대로 이동 (비용 저렴, 장거리 유리)

- **병렬(Parallel):** 여러 줄로 동시에 이동 (단거리 고속, 케이블 복잡)

## 2. 주요 통신 방식 (동기 vs 비동기)

### 비동기식 통신 (Asynchronous)

클럭(Clock) 신호를 공유하지 않고, 데이터 앞뒤에 **Start Bit**와 **Stop Bit**를 붙여 데이터의 시작과 끝을 구분합니다.

- **대표 사례:** UART (RS-232, RS-485)
    
- **장점:** 선의 개수가 적음
    
- **단점:** 통신 속도(Baud Rate)가 양쪽 모두 일치해야 함
    

### [[동기(Synchronous)]]식 통신

별도의 **클럭 신호선**을 사용하여 송수신 타이밍을 맞춥니다.

- **대표 사례:** SPI, I2C
    
- **장점:** 데이터 전송 효율이 높고 속도가 빠름
    
- **단점:** 클럭을 위한 추가 선이 필요함


## 주요 설정 파라미터 (UART 기준)

시리얼 통신을 설정할 때 반드시 맞춰야 하는 4가지 요소입니다.

1. **Baud Rate (보오율):** 초당 전송되는 비트 수 (예: 9600, 115200)
    
2. **Data Bits:** 한 번에 보낼 데이터의 길이 (보통 8비트)
    
3. **Parity Bit:** 오류 검출을 위한 비트 (None, Even, Odd)
    
4. **Stop Bits:** 데이터의 끝을 알리는 비트 (1 또는 2)

---
