串口通信(Serial Communication)是一種通過單根數據線逐位傳輸數據的通信方式,常用於嵌入式系統、工業設備、傳感器、計算機外設等場景。

一、串口通信核心參數

1. 波特率(Baud Rate)定義

    :每秒傳輸的符號數(單位:bps,bits per second)。常見值

    :9600、19200、38400、115200 等。要求

    :通信雙方的波特率必須一致,否則數據會解析錯誤。

2. 數據位(Data Bits)定義

    :每個數據幀中實際傳輸的有效數據位數。可選值

    :5、6、7、8 位(常用 8位,對應一個字節)。

3. 停止位(Stop Bits)定義

    :標誌數據幀結束的位,用於同步時鐘。可選值

    :1位、1.5位、2位(常用 1位)。  

4. 校驗位(Parity Bit)定義

    :用於檢測數據傳輸過程中的錯誤。類型

    :無校驗(None)

    :不進行校驗。奇校驗(Odd)

    :數據位中“1”的個數為奇數時,校驗位為0。偶校驗(Even)

    :數據位中“1”的個數為偶數時,校驗位為0。 

二、數據幀格式

一個完整的串口數據幀由以下部分組成(以 8N1 格式為例)

    | 起始位 | 數據位(D0-D7) | 校驗位 | 停止位 |

硬件知識:串口通信基礎知識介紹-_#人工智能

  • 起始位:1位低電平(邏輯0),標誌數據幀開始。
  • 數據位:低位(LSB)在前,高位(MSB)在後。
  • 校驗位:可選(根據校驗類型決定是否包含)。
  • 停止位:1位高電平(邏輯1),標誌數據幀結束。

三、物理接口標準

  • RS-232:
  • 電平:±3~15V(邏輯1=-3~-15V,邏輯0=+3~+15V)。
  • 傳輸距離:<15米。
  • TTL UART:
  • 電平:0V(邏輯0)、3.3V/5V(邏輯1)。
  • 傳輸距離:<1米(需電平轉換芯片延長距離)。
  • RS-485:
  • 差分信號,抗干擾強,支持長距離(千米級)。
  • 適用於工業多節點通信。

四、通信流程

1. 發送端:

拉低起始位 → 發送數據位 → 計算併發送校驗位 → 拉高停止位。

2. 接收端:

檢測起始位下降沿 → 按波特率採樣數據位 → 校驗數據 → 檢測停止位

五、同步 vs. 異步通信

  • 異步通信(常用):
  • 無獨立時鐘線,依賴起始位和停止位同步。
  • 雙方需預先約定波特率。
  • 同步通信:
  • 需額外時鐘線(如SPI、I2C),傳輸效率更高。
  • 串口通信一般默認為異步模式