串口调试工具
历经半个月的时间,在安卓端的串口调试工具终于让我搞出来了,在之前已经有很多同道中人开发过相似的应用,但我认为还有很多功能没有挖掘出来,所以我决定开发一个更方便,更实用的串口调试工具。接下来介绍这个 串口调试工具 的使用方法。并在后半部分通过“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串口库。
|