APP下载

STM32微控制器虚拟串口通信实现与仿真

2018-09-17熊军洲

科教导刊·电子版 2018年17期
关键词:串口

熊军洲

摘 要 针对STM32微控制器串口通信,提出了一种虚拟串口通信仿真方法,采用虚拟串口软件、串口调试助手及Keil软件相结合的方式对串口的发送和接收进行仿真。结果表明,该方法在不需要硬件的前提下STM32微控制器串口能依靠软件仿真正常地发送和接收数据,验证串口正常工作。

关键词 STM32 串口 虚拟串口软件 串口调试助手 Keil

中图分类号:TP335 文献标识码:A

1实现原理与仿真设置

该方法不需要硬件开发板和仿真器,也不关注计算机是否有串口,而是利用虚拟串口软件(Virtual Serial Port Driver,VSPD)创建虚拟的串行通信接口,因此计算机上需要安装VSPD软件、串口调试助手和Keil uVision5软件。VSPD成对地创建虚拟串口,这些虚拟的串口与真实的物理串口在使用上完全一致,通过虚拟互连将创建的成对串口相互连在一起,相当于使用数据线连接了两个串口,从而可以实现发送和接收数据的仿真。新建虚拟串口的数量是不受限制的,因此可以方便地扩展串口的数量。具体的仿真设置如下:

1.1打开VSPD软件,创建虚拟串口

打开软件后,在出现的界面上manage ports选择两个串口号然后点击Add pair,这时界面左侧的Serial ports explorer部分的Virtual ports下显示两个虚拟串口COM1和COM2。这两个串口即为创建完的串口,如果需要继续增加串口,只需在manage ports下继续选择串口号然后点击Add pair即可。将虚拟串口COM1和COM2与STM32微控制器中的一个USART绑定,即可实现USART的仿真调试。

1.2打开Keil uVision5软件,绑定串口

将编写的串口程序编译链接生成可执行文件后,在Dubug模式下进行调试仿真。在软件下方出现的Command窗口命令栏中先后输入两条命令:MODE和ASSIGN,其格式如下:

MODE COMx baudrate, parity, databits, stopbits

ASSIGN channel outreg

MODE命令为设置将要绑定的虚拟串口参数。COMx(x=1,2,3……)为虚拟串口号,baudrate为串口的有效波特率(如1200, 2400, 9600, 或 19200),parity为奇偶检验设置(parity为0表示无检验位,为1表示奇检验,为2表示偶检验),databits为数据位的个数(databits为8表示8位数据位,为7表示7位数据位),stopbits为停止位的个数(为1表示1位停止位,为15表示1.5位停止位,为2表示2位停止位)。

ASSIGN命令为将计算机创建的虚拟串口与微控制器的仿真串口绑定。channel为虚拟串口 COMx(x=1,2,3……),inreg和outreg为微控制器串口的输入和输出(inreg取值为SxIN, outreg取值为SxOUT,x=1,2,3)。

本文将MODE和ASSIGN命令分别设置为:

MODE COM1 9600,0,8,1

ASSIGN COM1 S2OUT

仿真多個串口时,由于创建的虚拟串口较多,为避免每次仿真时都要输入命令,可以创建一个配置文件USART.txt,将以上的MODE和ASSIGN命令先后写入,如有多个串口需要绑定则需要写入多组MODE和ASSIGN命令,格式相同,具体参数根据实际程序要求设置。创建完配置文件后,将后缀改为.ini,如本文将USART.txt改为USART.ini,在设置Keil参数时,将Debug选项卡中的Initialization File路径中。

1.3打开串口调试助手,配置参数

设置端口号为创建的虚拟串口COM2,按仿真程序设置波特率为9600 ,无奇偶检验位,停止位为1位,数据位为8位。

2串口收发仿真测试

通过软件仿真串口程序,串口调试助手显示如图2所示:

由测试结果可知,通过虚拟串口,串口调试助手和微控制器之间能够正确地收发数据,通信正常。

3结束语

本文介绍了STM32串口仿真时使用虚拟串口的方法,全部采用软件仿真的方式,成本低,效率高,大大减少了软件开发时间。测试结果验证了该方法的有效性,在实践开发和教学当中具有很好的应用价值。

参考文献

[1] 王益涵,孙宪坤,史志才.嵌入式系统原理及应用[M].北京:清华大学出版社,2016.

[2] 陈志旺.STM32嵌入式微控制器快速上手(第2版)[M].北京:电子工业出版社,2014.

[3] 张勇.ARM Cortex-M3嵌入式开发与实践[M].北京:清华大学出版社,2017.

猜你喜欢

串口
浅谈AB PLC串口跟RFID传感器的通讯应用
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
基于并行控制的FPGA多串口拓展实现