文章插圖

文章插圖
串口概念
簡單理解,串口就是單片機(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,傳輸從低位開始
- 怎樣與plc連接 plc與plc之間如何通訊
- 大數據的意思 大數據的理解
- 虛擬機里安裝數據庫 虛擬機linux系統安裝mysql
- 阿里云存儲怎么收費的 阿里云數據存儲價格
- sql數據庫安裝教程為什么一定要重啟計算機 sql數據庫安裝教程2012
- mysql的基本介紹 簡要闡述mysql數據庫的特點
- excel丟失的數據恢復 如何找回excel丟失的數據
- ajax請求的數據格式 ajax傳輸數據格式有哪些
- 分布式數據處理技術 大數據分布式處理怎么理解
- 大數據需要什么語言 大數據開發用的什么語言
