串口調試出現的問題總結

一、咱們一般調車的時候都會遇到要使用串口仍是網口來進行調試的問題,那麼什麼是「串口」什麼是「網口」呢?
• 二、串口和COM口、USB口、UART口又有什麼區別呢?
• 三、調試當中咱們常說的「RS-232」和「RS-422」、「RS-485」又是指代的什麼東西呢?
• 四、網口通訊和串口通訊都是怎麼實現的呢?
• 五、介紹串口通訊問題。



網絡

串口以及串口通訊
• 串口:串口是一個泛稱,UART、TTL、RS23二、RS485都遵循相似的通訊時序協議,所以都被通稱爲串口。
• 串口通訊(Serial Communications)的概念很是簡單,串口按位(bit)發送和接收字節。儘管比按字節(byte)的並行通訊慢,可是串口能夠在使用一根線發送數據的同時用另外一根線接收數據。它很簡單而且可以實現遠距離通訊。對於串口而言,長度可達1200米。通常情況下,串口用於ASCII碼字符的傳輸。
• 通訊使用3根線完成,分別是地線、發送、接收。因爲串口通訊是異步的,端口可以在一根線上發送數據同時在另外一根線上接收數據。其餘線用於握手,但不是必須的。串口通訊最重要的參數是波特率、數據位、中止位和奇偶校驗。對於兩個進行通訊的端口,這些參數必須匹配。
• 串口通訊使用到的幾個參數:
• a,波特率:這是一個衡量符號傳輸速率的參數。指的是信號被調製之後在單位時間內的變化,即單位時間內載波參數變化的次數,如每秒鐘傳送240個字符,而每一個字符格式包含10位(1個起始位,1箇中止位,8個數據位),這時的波特率爲240Bd,比特率爲10位*240個/秒=2400bps。通常調製速率大於波特率,好比曼徹斯特編碼)。
• b,數據位:這是衡量通訊中實際數據位的參數。當計算機發送一個信息包,實際的數據每每不會是8位的,標準的值是六、7和8位。如何設置取決於你想傳送的信息。好比,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。若是數據使用簡單的文本(標準 ASCII碼),那麼每一個數據包使用7位數據。每一個包是指一個字節,包括開始/中止位,數據位和奇偶校驗位。因爲實際數據位取決於通訊協議的選取,術語「包」指任何通訊的狀況。
• c,中止位:用於表示單個包的最後一位。典型的值爲1,1.5和2位。因爲數據是在傳輸線上定時的,而且每個設備有其本身的時鐘,極可能在通訊中兩臺設備間出現了小小的不一樣步。所以中止位不只僅是表示傳輸的結束,而且提供計算機校訂時鐘同步的機會。適用於中止位的位數越多,不一樣時鐘同步的容忍程度越大,可是數據傳輸率同時也越慢。
• d,奇偶校驗位:在串口通訊中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。固然沒有校驗位也是能夠的。對於偶和奇校驗的狀況,串口會設置校驗位(數據位後面的一位),用一個值確保傳輸的數據有偶個或者奇個邏輯高位。例如,若是數據是011,那麼對於偶校驗,校驗位爲0,保證邏輯高的位數是偶數個。若是是奇校驗,校驗位爲1,這樣就有3個邏輯高位。高位和低位不真正的檢查數據,簡單置位邏輯高或者邏輯低校驗。這樣使得接收設備可以知道一個位的狀態,有機會判斷是否有噪聲干擾了通訊或者是否傳輸和接收數據是否不一樣步。
• 網口:網線接入口
• 網口通訊(Socket Communications),就是經過所謂的「套接字(Socket)」來進行通訊的一種通訊方式。
• 解釋:兩個進程如須要進行通信最基本的一個前提能可以惟一的標示一個進程,在本地進程通信中咱們可使用PID來惟一標示一個進程,但PID只在本地惟一,網絡中的兩個進程PID衝突概率很大,這時候咱們須要另闢它徑了,咱們知道IP層的ip地址能夠惟一標示主機,而TCP層協議和端口號能夠惟一標示主機的一個進程,這樣咱們能夠利用ip地址+協議+端口號惟一標示網絡中的一個進程。可以惟一標示網絡中的進程後,它們就能夠利用socket進行通訊了,socket是在應用層和傳輸層之間的一個抽象層,它把TCP/IP層複雜的操做抽象爲幾個簡單的接口供應用層調用已實現進程在網絡中通訊。
• RS232和RS422。那麼咱們就須要首先明確在車上是用的串口接頭是RS232仍是RS422,RS232串口有9針串口(DB9)和25針串口(DB25)。在RS232的接線當中最爲簡單且經常使用的是三線制接法,即地、接收數據和發送數據三腳相連。
• 下面介紹RS232串口接線圖 :
• (右下圖示爲DB9和DB25的經常使用信號腳說明字串7)
在這裏插入圖片描述
串口傳輸數據只要有接收數據針腳和發送針腳就能實現:同一個串口的接收腳和發送腳直接用線相連,兩個串口相連或一個串口和多個串口相連 同一個串口的接收腳和發送腳直接用線相連 對9針串口和25針串口,均是2與3直接相連(以下圖所示)
在這裏插入圖片描述
串口調試中要注意的幾點: 不一樣編碼機制不能混接,如RS232C不能直接與RS422接口相連,市面上專門的各類轉換器賣,必須經過轉換器才能鏈接;線路焊接要牢固,否則程序沒問題,卻由於接線問題誤事;串口調試時,準備一個好用的調試工具,如串口調試助手、串口精靈等,有事半功倍之效果;強烈建議不要帶電插撥串口,插撥時至少有一端是斷電的,不然串口易損壞。
在這裏插入圖片描述
注意232的接口通訊母頭和公頭是有區別的:
.RS-232端(DB9母頭/孔型)引腳定義
引腳序號 2 3 5 一、四、6 七、8
信號定義 TXD RXD GND 內部相連 內部相連
注:該口可直接插入計算機的COM口
.RS-232端(DB9公頭/針型)引腳定義
引腳序號 2 3 5 一、四、6 七、8
信號定義 RXD TXD GND 內部相連 內部相連
注:該口可接與計算機通信的設備



























異步

相關文章
相關標籤/搜索