- 嵌入式 MCGS 串口通信快速入門及編程實例
- 張輝
- 3317字
- 2019-11-15 19:11:57
3.4 串口調試工具
掌握了串口直連線與串口交叉線的工作原理后,可以直觀地目測連接線的種類,方便連接線的選擇和購置,連接線準備好以后,需要對PC機串口進行測試,此時,串口調試工具是必不可少的。目前,用于串口調試的工具軟件較多,通過網絡可以下載授權或綠色版本使用,這些軟件的功能基本相同,主要用于測試串口是否正常工作以及串行控制代碼的準確性。由于測試過程簡便快捷、直觀有效,因此,已廣泛應用于電子技術行業和測控行業的故障診斷,成為工程技術人員的必備工具。下面對幾種常用的串口調試軟件進行簡要介紹,為廣大初學者和技術人員提供借鑒與幫助。
3.4.1 串行通信口測試器
為了方便串口調試,應自制一個發-收一體的部件。首先,選擇一個9針母頭,如圖3-24所示,然后將9針母頭后部的2號引腳(接收數據引腳)與3號引腳(發送數據引腳)用導線焊接在一起,信號從3引腳發出又回到了2引腳,構成閉路循環,此時該串口可以實現自我通信。將9針母頭插入計算機的COM1口,至此硬件準備工作完畢。

圖3-24 9針串口母頭2引腳與3引腳連接圖
接下來,要準備一些常用的串口調試工具,用于串口調試的工具軟件很多,在網上都可以下載,其界面雖有不同,但功能基本相似。此處介紹的串口調試工具名為“串行通信口測試器”,如圖3-25所示。該軟件沒有復雜的菜單項,界面簡潔,大致可分為四個主要功能區,即參數設置區、數據發送區、數據接收區和狀態顯示區。

圖3-25 串行通信口測試器軟件界面
3.4.1.1 參數設置區
參數設置區包括電腦串口選擇、串口參數設置兩項。程序啟動后,軟件會自動打開默認的串口號“COM1”,此時“打開串口”按鈕不可用,點擊“關閉串口”按鈕后“打開串口”按鈕才會被激活。當從“串口號”中選擇要打開的串口后便會自動打開,無須再點擊“打開串口”按鈕。串口參數設置共分四項,即波特率、數據位、停止位和檢驗位,通過下拉框可以選取每一項的相應參數。
3.4.1.2 數據發送區
該區包括兩種數據發送方式,一種為文件發送,這種方式用于批量發送數據,將待發送的數據放在文本文件中。通過“打開文件”按鈕選取相應的文件,其格式必須為文本格式,即可顯示的字符方式,此時“文本文件”標題下方出現所要打開文件的完整路徑,然后點擊“發送文件”按鈕,文件打開成功后會彈出“文件傳送結束”信息菜單,在“代碼接收窗口”內即可看到文件的內容,當文件較大時,可以通過窗口右側的滑條上下移動進行瀏覽,如圖3-26所示。

圖3-26 采用串口傳送文件結果顯示圖
另一種數據發送方式為文本輸入方式,即通過輸入字符,點擊按鈕實現,如圖3-27所示。“發送代碼內容”包括“按鼠標”和“放鼠標”兩項,“按鼠標”表示當鼠標左鍵在“發送”按鈕上按下不動時要發送的內容,而“放鼠標”表示當鼠標左鍵在“發送”按鈕上彈起時要發送的內容。復選項“Hex”表示發送的是16進制數;復選項“連續”表示在“發送”按鈕上按下鼠標左鍵時一直發送;復選項“自動”表示以設定的“ms”值為時間間隔定時發送,省去了連續按下按鈕的動作,在診斷串口時經常用到。例如,在“按鼠標”后面的文本框中輸入“4142”,在“放鼠標”后面的文本框中輸入“6162”,不選“Hex”一項,此時以字符方式傳送,在“發送”按鈕上按下鼠標左鍵,在“代碼接收窗口”顯示“4142”,在“發送”按鈕上釋放鼠標左鍵,在“代碼接收窗口”顯示“6162”。如果選中“Hex”一項,如圖3-27所示,重復上述動作,則當按上鼠標左鍵時,顯示“AB”,釋放鼠標左鍵時,顯示“ab”,說明此時是以16進制傳輸數據的,在“代碼接收窗口”將16進制轉化為字符顯示,“41”對應的字符為“A”,“42”對應的字符為“B”,“61”對應的字符為“a”,“62”對應的字符為“b”。

圖3-27 采用串口傳送字符結果顯示圖
3.4.1.3 數據接收區
數據接收區根據代碼顯示格式的設置進行符號顯示,當“Hex顯示”復選框選中后,代碼接收窗口將接收到的數據轉換為16進制顯示,否則以字符方式顯示。例如,發送字符“123”,“Hex顯示”復選框未選中時,代碼接收窗口顯示的也是“123”,選中“Hex顯示”復選框后,則顯示“31 32 33”,即字符“123”對應的16進制代碼,每個代碼用空格隔開。圖3-28給出了發送字符“I am a cat.”

圖3-28 代碼顯示格式對比圖
時不同代碼顯示格式所對應的顯示結果,從圖中可以看出,用“Hex顯示”可以方便地獲得字符的16進制代碼,而無須查閱ASCII表。“清空窗口”按鈕將“代碼接收窗口”內的顯示內容抹掉,恢復為空白狀態。
3.4.1.4 狀態顯示區
狀態顯示區會實時顯示目前操作的串口號、通信波特率、串口當前狀態、已發送字符數和已接收字符數。對于同一臺電腦的串口,如果將其發送數據引腳與接收數據引腳相連,可以通過發送與接收到的字符個數判斷串口是否正常。當發送計數時,說明本機的串口沒有問題,接收為0說明中間連接線路有問題,即計算機發送的字符無法通過中間連接線到達接收端,此時應檢查中間線纜與接口的對應關系。
3.4.2 串口助手
串口助手是另一款測試串口通信的工具軟件,如圖3-29所示。通過使用,將其功能也分為四項,即串口設置、數據發送、數據接收和數據保存。顯然,在這個串口測試軟件中增加了數據的保存功能,并且每一項功能更加模塊化。

圖3-29 串口助手顯示界面
(1)串口設置 串口設置包括串口參數的配置、保存和調入,可以對操作過程信息進行記錄。點擊“串口配置”按鈕,可以對端口號、通信波特率、數據位、停止位、奇偶校驗位和流程控制進行設置。點擊“保存配置”會彈出文件保存對話框,可以將上述串口配置信息保存為“.ini”文件,當點擊“載入配置”按鈕時可將該文件打開,直接調入配置信息。
(2)數據發送 數據發送包括文件發送和輸入發送兩種。采用文件發送時,點擊“選擇文件”按鈕,從彈出對話框中選取要打開的文本文件,然后點擊“發送文件”按鈕,文件信息直接顯示在“接收區”。當采用輸入發送時,在“發送區”輸入要傳送的數據,點擊“發送數據”按鈕,輸入信息顯示在上面的“接收區”。在數據發送過程中如果不勾選“HEX發送”選項,則以字符方式發送,如果選中“HEX發送”一項,則以16進制發送,但必須保證在發送區輸入的是16進制數。勾選“連續發送”選項后,會以“間隔”內設置的ms數進行定時發送,無須點按“發送數據”按鈕。每發送一個字符,“發送”計數器將累加1;每接收一個字符,“接收”計數器將累加1,“重新計數”按鈕可以將“發送”與“接收”計數器清零。“清發送區”按鈕可以將發送區內的信息清空。
(3)數據接收 數據接收分為字符接收和16進制接收兩種方式,默認狀態為字符接收方式,當勾選“HEX顯示”時,在接收區收到的字符以16進制顯示。當需要清空接收區時,可以通過點擊“清接收區”按鈕實現。
(4)數據保存 接收到的數據可以通過“保存數據”按鈕實現,但該軟件并未指明數據保存在哪個文件。保存選項中的“追加保存”和“覆蓋保存”決定了數據的保存形式,“追加保存”是在以前數據的基礎上繼續添加;“覆蓋保存”是抹掉以前的數據,以現有數據替換先前數據。
3.4.3 串口調試助手
串口調試助手功能較上述兩款軟件進行了較大的改進,其界面如圖3-30所示。在功能方面,該軟件除具有串口設置、數據發送、數據接收、數據保存和狀態顯示等功能外,還豐富了數據保存功能,這是該軟件的特色之處。點擊“更改”按鈕,彈出文件保存路徑,選擇合適的目錄,然后點擊“保存顯示數據”,此時,數據以“rec00.txt”文件名保存;當第二次保存時,數據以“rec01.txt”文件名保存;當第三次保存時,數據以“rec02.txt”文件名保存,依次類推。文件名不會重合,如果刪掉前面的文件,則數據會以排序方式緊接數據文件名中“rec”后面的號碼自動命名,具有一定的智能。

圖3-30 串口調試助手顯示界面
3.4.4 雪莉藍串口調試助手
雪莉藍串口調試助手與上述幾種串口調試工具軟件不同之處在于其增加了“線路狀態”檢測功能,在該項中共有6條檢測線路,即CD、DTR、DSR、RTS、CTS和RI。當打開串口后,會彈出如圖3-31所示的提示信息,由于第4引腳與第7引腳為輸出控制針,因此,用戶可以通過點擊前面的CheckBox按鈕,如果前面的方框內勾選“√”,表明其電壓為+12V,否則為-12 V。打上“√”或去掉“√”,對應的引腳會呈現高電壓與低電壓;其他引腳為輸入控制引腳,只能讀引腳狀態,無法對其進行控制。可見,該軟件可以診斷線路的電壓值,從而判斷每一根線是否正常,其功能更加強大。

圖3-31 串口調試器顯示界面