學習嵌入式的同學大多數都會使用串口與電腦通訊,但是你真的了解他的原理嗎,你知道他的波特率,停止位,校驗位,數據位到底代表什麼含義呢?實際應用中我們應該注意他的那些東西來提高通訊的可靠性和穩定性呢,今天我們就來聊一聊最常見的串口通訊。
串口參數-COMMIX軟件
串口定義串行接口簡稱串口,是指數據一位一位地按照順序發送,通信電路簡單,隻需要兩根線(TX和RX)就可以實現數據的收發,大大降低了成本,特别适合遠距離通訊。
在工業中串口應用非常廣泛,如打印機,台式機電腦的顯示屏與主機連接,電話機等等。串口通訊過程中的可靠性非常重要,不能因為幹擾或者外界因素影響。經常會有客戶要求丢包率不能超過千分之一,軍工産品不允許超過十萬分之一。所以深入了解他的特性就非常重要,下面一一講解他的特性。
串口的應用
數據格式串口的數據格式為停止位,校驗位,數據位和起始位。
數據幀格式
停止位可選1bits/1.5bits/2bits;校驗位可選擇為None/Odd/Even/Mark/Space;數據位可選為5bits/6bits/7bits和8bits;由于一個字節有8位,所以我們常見的串口的配置為1bits停止位,None校驗和8bits數據位。根據典型配置方式,我們來舉個例子看下數據在線上傳輸過程。
如下,在不傳輸數據時候,信号位高電平,一旦單片機接收到發送數據指令時候,首先發送起始位,将電平拉低,然後在傳輸8個數據位,再傳輸一個停止位高位,表示這一個字節傳輸結束。單片機也是通過計算停止位和起始位之間的個數來判定這個傳輸是否正常的。
數據0x55傳輸過程
波特率波特率表示在單位時間内,傳輸位的個數。比如波特率9600bps,表示一秒能傳輸9600bits;如果按照1個停止位,無校驗位和8個數據位來配置,1S最多傳輸9600/10(1StopBits 8DataBits 1StartBits)個字節,也就是960個字節,這個非常重要,大家需要牢記.。1S中最大傳輸字節數=波特率/10。如115200bps就是11520字節,以此類推。在示波器上測試停止的頻率就是他的波特率。
示波器測試的波特率—傳輸速率
校驗位對可靠性要求非常苛刻的設備都會帶上校驗位,來驗證傳輸的數據是否正常;如果傳輸出錯了會重新發送或者做對應處理;分别有如下幾種校驗方式:
1:even-每個字節傳送整個過程中bit為1的個數是偶數
2:odd 每個字節傳送整個過程中bit為1的個數是奇數
3:noparity 沒有校驗位
4:space 校驗位總為0
5:mark 校驗位總為1
一般的校驗都有上述幾種,單片機會根據校驗位的正确與否決定重發或其他操作,提高通訊的可靠性。
讀完我的文章,希望你下次做設計或者查問題時會更加地得心應手,大家有什麼想問的可以一起讨論。
問個問題,各位知道UART,RS232,RS485,RS422之間有什麼區别嗎?一起來我的評論區聊聊吧!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!