1. 程式人生 > 實用技巧 >微控制器串列埠分析起始位停止位奇偶校驗位

微控制器串列埠分析起始位停止位奇偶校驗位

串列埠解析

串列埠配置

1.波特率
2.停止位
3.資料位
4.奇偶校驗位

  • 位元率:通訊的頻率
  • 停止位:可以選擇1/1.5/2三個選擇
  • 資料位:可以選擇5/6/7/8四個選擇
  • 奇偶校驗位:可以選擇奇校驗/偶校驗/無奇偶校驗位

假設我們選擇預設配置為:波特率位9600,停止位為1資料位為8,奇偶校驗位為無。那麼一個數據的長度=起始位(1)+資料位(8)+奇偶校驗位(0)+停止位(1)。
按照預設的配置我們來計算一下10S能傳輸多少位元組的資料。
byte = 10*9600/10 = 9600個位元組。
當然這是在最理想的情況下,因為需要做保護所以理論上是做不到9600個位元組的最大傳輸的。

接下來我們分析一下每個位元組具體是怎麼樣的。

1.預設配置下:

我們傳送一個位元組0xC7下面需要區分兩個情況

  • LSM:低位元組在前高位元組在後
    在這裡插入圖片描述
  • MSB:高位在前低位在後
    在這裡插入圖片描述我們會發現從同樣是11100011,在LSB和MSB的讀取結果不同,根據字面意思我們也能理解,一個是地位在前一個是高位在前,所以我們讀取的結果LSB=0xC7,MSB=0xE3。

2.奇偶校驗位

傳送0x01和0x02兩個位元組

  • 奇校驗
    在這裡插入圖片描述在奇校驗下我們會發現0x01的第10位是0 0x02的第10位是1。奇校驗就是讀取資料位中高電平的個數,如果是奇數那麼奇偶校驗位就為0。如果高電平的個數位偶數,那麼奇偶校驗位就為1。

  • 偶校驗
    在這裡插入圖片描述偶校驗顧名思義就是相反與奇校驗,所以從波形中我們可以發現同樣的資料奇校驗和偶校驗的第10位剛剛好相反。