串口概念
簡單理解,串口就是單片機(MCU)與相關芯片串行通信的接口,所謂串行,就是數據每位按順序進行傳輸。
相關概念
空閑位:MCU和外設如果不進行數據傳輸時,數據線發送空閑位,空閑位為高電平
起始位:MCU和外設如果要傳輸數據,首先要發送起始位為低電平有效,一個bit位
數據位:MCU和外設數據傳輸時,有效的數據位數有效位數:5/6/7/8,一般選擇8bit
奇偶校驗位:用來指示數據傳輸是否發生異常,有效位數為一位
校驗方式有三種:
奇校驗(odd)、偶校驗(even)、不校驗(none)
停止位:MCU和外設如果要停止數據傳輸,只需發送停止位即可
有效位數為1位或者2位,高電平有效
波特率:MCU和外設數據傳輸時的速率
工作模式
單工:MCU和外設數據傳輸時,只能朝一個方向進行
半雙工:MCU和外設數據傳輸時,可以雙向,但是同一時刻只能朝一個方向
全雙工:MCU和外設數據傳輸時,可以同時雙向進行
此時此刻需要2根數據線!一根用於發送數據TX,一根用於接收數據RX,一般UART採用全雙工。
舉例說明
MCU(單片機)給BT(藍牙模塊)發送0x95(10010101)數據並且數據校驗採用奇校驗,發送過程如下:
發送端:
1.MCU將0x95發送給BT
2.MCU計算0x95中1的個數(4個1,4為偶數)
3.由於1的個數是4偶數,而現在採用奇校驗所以校驗位應該補1(4+1=5奇數)所以MCU最後向BT發送校驗位的值為1
接收端:
1.BT首先將0x95接收到
2.BT計算0x95中1的個數為4(偶數)
3.BT再次接收CPU發送的校驗位1
4.BT進行匹配,BT發現數據中1的個數為偶數,並且CPU發送的校驗位為1所以BT認為CPU發送的數據沒有異常(如果採用不校驗,CPU和外設無需發送校驗位)
上面例子時序圖分析
MCU向BlueTooth發送0x95數據為例,UART的工作參數為:
波特率:115200, 數據位8 停止位1 奇校驗
0x95對應的二進制10010101,傳輸從低位開始

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/208712.html
 
 微信掃一掃
微信掃一掃  支付寶掃一掃
支付寶掃一掃 