嵌入式 MCGS 串口通信快速入门及编程实例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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 串口调试器显示界面