2024年5月10日发(作者:)

串口调试工具的使用

1运行串口调试助手

首先运行串口调试助手

运行后界面图如下所示:

标题栏

串口参数

设置区

显示区

调试区

图1-1 串口调试工具界面图

2 串口调试助手的使用

2.1串口调试助手基本参数的设置

串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端

口,这些参数必须匹配:

图2-1串口调试助手基本参数设置图

(1)串口号

软件启动后将自动识别所有可用的串口,您只需要在下拉框中选择即可。如下图2-2所

示,软件自动识别出COM3和COM4。 选择我们使用的串口COM4,点击“打开串口“按钮。

如果要使用另一个串口,请先单击”关闭串口“按钮,软件将显示串口已经关闭。

图2-3口号设置图

(2)波特率

它这是一个衡量通信速度的参数,表示每秒钟传送的bit的个数。例如300波特表示

每秒钟发送300个bit。波特率和距离成反比,高波特率常常用于放置的很近的仪器间的通

信。我们常使用的波特率一般是9600和115200,我们这里选择波特率为9600。

图2-4波特率设置图

(3)数据位

这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不一定是

8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII

码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准

ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据

位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

图2-5数据位设置图

(4)停止位

停止位用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线

上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同

步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停

止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

图2-6停止位设置图

(5)校验位

校验位是串口通信中一种简单的检错方式。有四种检错方式:偶(even)、奇(odd)、

高(mark)和低(space)。当然没有校验位也是可以的,None即表示没有校验位; space 校

验位总为0; mark 校验位总为1。

对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输

的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,

保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和

低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个

位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。

图2-7校验位设置图

(6)流控制

“流”即数据流。数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台

计算机的处理速度不同,如台式机与单片机之间的通讯,接收端数据缓冲区已满,则此时继

续发送来的数据就会丢失。流控制能解决这个问题,当接收端数据处理不过来时,就发出“不

再接收”的信号,发送端就停止发送,直到收到“可以继续发送”的信号再发送数据。因此

流控制可以控制数据传输的进程,防止数据的丢失。PC机种常用的两种流控制(包括

RTS/CTS、DTR/CTS等)软件流控制XON/XOFF(继续/停止)。

图2-8流控制设置图

a) 硬件流量控制

常用的RTS/CTS(发送数据请求/清除发送)流控制和DTR/DSR(数据终端就绪/数据

发送就绪)流控制。串口通信可以使用3根线完成:(1)地线,(2)发送(Tx),接收(Rx)。

如需要RTS/CTS流控制,除Rx,Tx,GND之外另需要连接RTS,CTS信号线。通过当前的

通信线路(RXD, TXD)将流量控制信息以特殊的数据状态发送的方式。具体方法在DTR和

RTS设置中会详细介绍。

b) 软件流量控制

一般通过XON/ XOFF(继续/停止)来实现软件流控制。常用方法是:当接收端的输入

缓冲区内数据量超过设定的高位时,就向数据发送端发送XOFF,发送端收到XOFF后就立

即停止发送数据;当接收端输入缓冲区内的数据量低于设定的低位时,发送端收到XON字

符后就立即开始发送数据

(7)当前我们设置的串口参数为:

串口号Port = COM4,波特率=9600,数据位= 8,停止位=1,无校验位和流量控制。

完成串口参数设置后,串口调试助手的界面最下框会显示设置好的参数,如下图所示:

参数设置显示

图2-9参数设置完成示意图

注:S:267表示发送数据的数量为267,R:0是指接收数据的数量为0。

2.2串口调试助手发送数据基本设置

(1)DTR和RTS设置

RTS/CTS和DTR/DSR一起工作,一个作为输出,另一个作为输入。DTR/DSR用于表

示系统通信就绪,而RTS/CTS用于单个数据包的传输。如果在RTS选项框打对勾,则是选

用RTS/CTS流控制方式;在DTR选项框打对勾,则表示选用DTR/DSR流控制方式。

第一组线是RTS和CTS。RTS是告知自身的接收缓冲区状态的信号,自身的缓冲区充

分时将active信号传送到对方;自身的缓冲区不充分时将inactive信号传送到对方。CTS是

接收自对方传来的RTS信号。因此连接信号线可将自身的缓冲区状态告知给对方同时监视

对方缓冲区的状态。

另一组线是DTR和DSR。DTR是将相应设备已做好通信准备的状态告知给对方设备的

信号,DSR是监视对方的设备时候已经做好准备的信号。一般通过此线确定是否已与对方

设备成功连接。这些现主要用于Modem通信。使得串口和Modem通信他们的状态。例如:

当Modem已经准备好接收来自PC的数据,它置高DTR线,表示和电话线的连接已经建立。

读取DSR线置高,PC机开始发送数据。

图2-10 DTR和RTS设置示意图

(2)定时发送设置

“定时发送”空白框不打勾时,软件将默认为手动发送,只有点击发送按钮才能发送,

并且,软件仅发送一次消息。“定时发送”框打对勾时,软件将自动发送通讯消息;并且,

如果选择了自动发送,软件则以“ms/次”设置的参数为周期发送通讯消息,如下图所示,

系统默认的周期为1000ms/次,即1s/次。

图2-11定时发送设置示意图

(3)发送新行,只有在发送字符串时才有发送新行的设置。如下图所示,如果定义了

发送新行,那么输出的字符串会以换行的方式输出。

图2-12 以HEX方式发送文件示意图

“发送新行”框未打

勾时接收串口输出

的字符串

“发送新行”框打

勾,接收串口输出

的字符串

图2-13接收数据对比示意图

(4)发送数据

有两种发送数据格式,一种是普通的字符串,另外一种是十六进制数据即HEX格式数

据。发送HEX格式数据时要在字符串输入区中输入HEX格式字符串,并且要将相应区内

的十六进制发送选项选中。例:HEX 格式数据字符串12 34 AB CD FF

发送步骤:

a)输入字符串

b)如果要发送16进制数据, 要先在HEX选项框中打上对勾

c)点击发送按钮。发送后,界面的最下框会显示发送数据的数量。

(5)发送数据和接收数据实例说明

a)以字符串格式发送和显示数据。

图2-14(a)字符串格式发送数据示意图

图2-14(b)字符串格式显示数据方式示意图

b)以16进制方式(hex)发送和显示数据。

注:接收端需要在“HEX显示”框中打上对勾。

图2-15 hex格式显示数据示意图

c)以16进制发送(hex)数据,应该在发送端的“HEX发送框”和接收端的“HEX显

示”中都打上对勾,如果不在接收端的“HEX显示”框中打上对勾,则会出错,如下图所

示:

出错显示

图2-16 接收端报错示意图

d)以字符串发送数据,16进制方式(hex)显示数据。

注:字符串“1”~“9”对应的16进制输出为“31”~“39”

图2-17 接收端接收16进制数据示意图