色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當前位置:首頁 > 嵌入式培訓 > 單片機學習 > 單片機編程入門 > 單片機串口協議 六種串口協議特征及范式

單片機串口協議 六種串口協議特征及范式 時間:2018-07-24      來源:未知

單片機串口協議 六種串口協議特征及范式

在現實生活中,我們總是需要與人打交道,彼此之間毫無關系。單片機是相同的,它需要與各種設備交互。例如,汽車的顯示儀器需要知道汽車的速度和電機的運行參數,然后顯示儀器需要從汽車的底部控制器獲得數據。獲得該數據的過程是一個通信過程。類似的例子是控制器通常是單個芯片或PLC和變頻器之間的通信。溝通的雙方需要遵守一套既定的規則,也就是協議,這就像我們之間的對話,雙方都必須遵守一套語言和語法規則來實現對話。

通信協議又分為硬件層協議和軟件層協議。硬件層協議主要規范了物理上的連線,傳輸電平信號及傳輸的秩序等硬件性質的內容。常用的硬件協議有串口,IIC, SPI, RS485, CAN和 USB。軟件層協議則更側重上層應用的規范,比如modbus協議。

好了,那這里我們就簡單介紹51單片機的串口通信協議,以下簡稱串口。串口的6個特征如下。

(1)、物理上的連線至少3根,分別是Tx數據發送線,Rx數據接收線,GND共用地線。

(2)、0與1的約定。RS232電平,約定﹣5V至﹣25V之間的電壓信號為1,﹢5V至﹢25V之間的電壓信號為0 。TTL電平,約定5V的電壓信號為1,0V電壓信號為0 。CMOS電平,約定3.3V的電壓信號為1,0V電壓信號為0 。其中,CMOS電平一般用于ARM芯片中。

(3)、發送秩序。低位先發。

(4)、波特率。收發雙方共同約定的一個數據位(0或1)在數據傳輸線上維持的時間。也可理解為每秒可以傳輸的位數。常用的波特率有300bit/s, 600bit/s, 2400bit/s, 4800bit/s, 9600bit/s。

(5)、通信的起始信號。發送方在沒有發送數據時,應該將Tx置1 。 當需發送時,先將Tx置0,并且保持1位的時間。接受方不斷地偵測Rx,如果發現Rx常時間變高后,突然被拉低(置為0),則視為發送方將要發送數據,迅速啟動自己的定時器,從而保證了收發雙方定時器同步定時。

(6)、停止信號。發送方發送完最后一個有效位時,必須再將Tx保持1位的時間,即為停止位。

串口協議開發:

以下解析范式都是采用數據隊列的形似來存儲,并且根據設備運行速度差異,還需增加數據包隊列來存儲解析完畢的數據包

1.范式一《固定長度》無校驗

0x6B----------20字節--------0xB6

上面數據中有一個幀頭0x6B,幀尾0xB6,中間數據20個。

每次數據要找到幀頭0x6B才開始存儲,讀取完22個字節后結束儲存,并判斷最后一個字節是否為0xB6.

這種范式如果出現誤碼,整個包就會變成錯誤包,會比較危險。

1.范式二《固定長度》有校驗

0x6B----------20字節--------校驗-0xB6

上面數據中有一個幀頭0x6B,幀尾0xB6,中間數據20個,幀尾前面有一個校驗碼。

每次數據要找到幀頭0x6B才開始存儲,讀取完23個字節后結束儲存,并判斷最后一個字節是否為0xB6.

并且判斷校驗碼。

這種范式解決上述出現的誤碼問題。

1.范式三《不固定長度》無校驗

0x6B----------N字節---------0xB6

上面數據中有一個幀頭0x6B,幀尾0xB6,中間數據N個,幀尾前面有一個校驗碼。

每次數據要找到幀頭0x6B才開始存儲,讀取到0xB6后結束儲存,并判斷最后一個字節是否為0xB6.

這種范式會出現錯誤解包的問題,例如數據中出現了0xB6的數據,這個包就丟了。

依然會有誤碼的問題。

1.范式四《不固定長度》有校驗

0x6B----------N字節--------校驗-0xB6

上面數據中有一個幀頭0x6B,幀尾0xB6,中間數據N個,幀尾前面有一個校驗碼。

每次數據要找到幀頭0x6B才開始存儲,讀取到0xB6后結束儲存,并判斷最后一個字節是否為0xB6.

并且判斷校驗碼。

這種范式解決上述出現的誤碼問題。

這種范式會出現錯誤解包的問題,例如數據中出現了0xB6的數據,這個包就丟了。

1.范式五《不固定長度》有校驗,加入轉義字符

0x6B----------N字節--------校驗-0xB6

如果數據中有0xB6數據,那么數據包就被提前結束了,并不是我們想要的數據。

這里需要加入轉義字符

0xB6 -> 0xBf,0x01

0xBf -> 0xBf,0x02

上面數據中有一個幀頭0x6B,幀尾0xB6,中間數據N個,幀尾前面有一個校驗碼。

每次數據要找到幀頭0x6B才開始存儲,讀取到0xB6后結束儲存,并判斷最后一個字節是否為0xB6.

并且判斷校驗碼。

需要去解析特定的轉義字符

這種范式解決上述出現的誤碼問題。

這種范式不會出現錯誤解包的問題。

1.范式6《不固定長度》有校驗

0x6B-0xB6-N數據長度---------N字節--------校驗

上面數據中有一個幀頭0x6B,0xB6,數據長度,中間數據N個,校驗碼。

每次數據要找到幀頭0x6B才開始存儲,讀取到數據長度后讀取對應長度,再讀取一個校驗碼。

判斷校驗碼即可。

這種范式解決上述出現的誤碼問題。

這種范式不會出現錯誤解包的問題。

上一篇:單片機類型分類 常見的單片機有哪些類型

下一篇:零基礎單片機自學要多長時間呢?這些你知道嗎

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5,京公海網安備11010802025203號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 日韩精品高清在线观看| 91免费版网站入口| 91久久精品国产91久久性色| 亚洲午夜久久久久久久| 黄色一区二区在线观看| 国产精品成人v| 一色桃子一区二区| 91chinesevideo永久地址| 91在线观看免费高清| 欧美日韩成人网| 成人午夜黄色影院| 欧美日韩xxxxx| 亚洲电影免费观看高清完整版在线观看 | 亚洲一级黄色片| 91精品国产色综合| 一区二区三区精品99久久| 7m精品福利视频导航| 一本大道亚洲视频| 国产精品久久久久久久久| 日韩视频在线免费观看| 国产精品入口夜色视频大尺度| 日韩亚洲在线观看| 国产欧美日韩中文字幕| 美女福利精品视频| 亚洲福利视频二区| 国内精品久久久久久中文字幕| 亚洲欧美日韩久久久久久| 青青久久av北条麻妃黑人| 久久亚洲国产精品| 亚洲国产精品久久| 国产999精品久久久影片官网| 中文字幕精品久久| 91免费人成网站在线观看18| 欧美精品福利视频| 色婷婷av一区二区三区在线观看| 国产精品视频一区国模私拍| 色综合久久中文字幕综合网小说| 成人字幕网zmw| 韩国v欧美v日本v亚洲| 久久久精品国产| 亚洲男人天堂古典|