 
串口調試工具
歷經半個月的時間,在安卓端的串口調試工具終于讓我搞出來了,在之前已經有很多同道中人開發過相似的應用,但我認為還有很多功能沒有挖掘出來,所以我決定開發一個更方便,更實用的串口調試工具。接下來介紹這個 串口調試工具 的使用方法。并在后半部分通過“HC05藍牙模塊的配置過程”為例演示其強大的功能。
需要的設備: 
用到的設備
左圖為OTG轉接線,可以將安卓設備的充電接口轉接為USB插口,告訴你一個秘密:此時如果你將鼠標插到OTG線的插口上,手機屏幕上就會出現一個鼠標箭頭。正是因為安卓設備通過OTG線支持USB Host模式,才使手機的串口通信得以實現。
右圖為USB轉串口模塊,除了CH340外,我還添加了對PL2303 CP2102等USB轉串口芯片的支持。同時支持一些常見的Arduino板。基本市面上所有的USB轉串口模塊都是支持的。
收發模式: 備齊了上述兩個法寶之后,就可以進行串口調試了。將上述的兩個設備連接到手機上,然后點開應用“串口調試工具”,就可進入下方畫面:
 
USB授權對話框
點擊確定,稍等幾秒鐘,設備就可以連接成功了,此時界面上方的狀態欄會顯示插入設備的名稱,并在右邊出現一個小開關用來控制設備開啟與關閉。
 
收發界面
應用在收發模式的界面中,如上圖,你可以在下面的輸入框中輸入要發送的數據,然后點擊輸入框右邊的箭頭按鈕發送。另外應用支持HEX數據的輸入,你可以輸入諸如“FF AA 11 22”這種格式的數據,直接傳遞十六進制的字節碼。應用支持定時發送數據,可自定義重發間隔,最高重發速率是20次每秒,即50~10000毫秒的設定范圍。在上方的空白區域會顯示歷史收發數據的記錄,點擊右下方的“X”按鈕可將區域清空。點擊向下的箭頭將焦點轉移到最新的數據行。
按鈕模式: 
按鈕功能
除了收發模式外,應用還支持按鈕形式的快捷發送,預留了12個可自定義的按鈕,每次按下按鈕,應用就會通過串口發送數據。長按可編輯按鈕的發送內容、按鈕顯示名稱等。在按鈕設置的對話框中,可以設置按鈕的顯示名稱和按鈕按下時發送的數據,每次你編輯要發送的數據時,都可以在“字節數據預覽”中看到你編輯的文本的字節碼,這樣可以用于單片機中的判斷,更加方便。
串口參數設置:
 
最后是應用的串口參數設置界面,你可以在參數設置界面中設置串口模塊的工作模式,比如波特率、數據位等,波特率最高可達921600。此外還可以在每次發送數據時在數據后面追加換行符,實現自動換行,這個功能對藍牙模塊參數配置等情況非常有幫助。最后是編碼格式選擇,當要收發含有中文的串口文本數據時,一定要確定收發雙方的文本編碼格式相同,如果不同則很可能出現亂碼的情況。(如果你是使用KEIL,請在 edit->Configuration->Editor->Encoding中確認文本的編碼格式)
示例——HC-05藍牙模塊配置: 最近使用藍牙串口模塊,手頭有一個HC-05的藍牙串口模塊,但是不知道它的串口波特率,而且我想將其設成115200波特率,一般來說都是用電腦連接USB轉串口模塊進行配置,但是電腦上的友善串口助手試用期過了,這個時候,我就可以使用這個應用來做。
首先將手機和藍牙串口模塊連接
 
請原諒我手機的垃圾像素
關于HC-05型的藍牙串口模塊的配置教程,網上有一大堆,這里就不贅述了。流程是:先按住藍牙模塊的按鈕,然后對其上電,上電后松開按鈕,此時會使模塊進入AT模式,進入AT模式后才能通過串口設置參數。一般HC-05模塊在AT模式下的波特率是38400,因此需要在應用的設置界面修改參數。此外,還需要加入 0D 0A的換行符。整體的設置如下圖:
 
 
設置完成后,就可以向藍牙模塊發送AT指令了,在收發界面發送命令“AT+UART?”,讀取一下藍牙模塊的串口波特率,可以發現藍牙模塊成功返回了信息。然后發送命令“AT+UART=115200,0,0”可以看到設置成功了。此外還可以修改一些參數,比如配對密碼等參數。這里我修改了一下,也是完全可以的。
這就是我這個應用“串口調試助手” 的所有介紹了,如果覺得這東西有點意思的話,可以在下面通過二維碼安裝
如果你也想開發同樣的應用,你可以在https://github.com/mik3y/usb-serial-for-android處找到開源的USB串口庫。


|