微控制器串列埠分析起始位停止位奇偶校驗位
阿新 • • 發佈:2020-10-17
串列埠解析
串列埠配置
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位剛剛好相反。