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

| 浏览次数:

摘 要 针对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……),ieg和outreg为微控制器串口的输入和输出(ieg取值为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.

推荐访问: 串口 仿真 通信 虚拟 微控制器

【STM32微控制器虚拟串口通信实现与仿真】相关推荐

工作总结最新推荐

NEW
  • XX委高度重视党校的建设和发展,出台《创建全省一流州市党校(行政学院)实施方案》及系列人才培养政策,为党校人才队伍建设提供了有力的政策支撑。州委党校在省委党校的悉心指导下、州委的正确领导下,深入贯彻落

  • 为推动“不忘初心、牢记使命”主题教育常态化,树牢“清新简约、务本责实、实干兴洛”作风导向,打造忠诚干净担当、敢于善于斗争的执纪执法铁军,经县纪委常委会会议研究,决定在全县纪检监察系统开展“转变作风工作

  • 为进一步发展壮大农村集体经济,增强村级发展活力,按照中共XXX市委抓党建促乡村振兴工作领导小组《关于印发全面抓党建促乡村振兴四个工作计划的通知》要求,工作队与村“两委”结合本村实际,共同研究谋划xx村

  • 今年来,我区围绕“产城融合美丽XX”总体目标,按照“城在林中,水在城中,山水相连,林水相依”以及“城乡一体、景城一体、园城一体”的建设思路,强力推进城市基础设施建设、棚户区改造、房地产开发和城市风貌塑

  • 同志们:新冠疫情发生至今已有近三年时间。三年来,在广大干群的共同努力下,我们坚决打好疫情防控阻击战,集团公司范围内未发生一起确诊病例,疫情防控工作取得了阶段性胜利。当前国际疫情仍在扩散蔓延,国内疫情多

  • 我是毕业于XX大学的定向选调生,当初怀着奉献家乡、服务人民的初心回到XX,在市委的关心关爱下,获得了这个与青年为友的宝贵历练机会。一年感悟如下。一要对党忠诚,做政治坚定的擎旗手。习近平总书记指出,优秀

  • 同志们:今天召开这个会议,主要任务是深入学习贯彻习近平总书记重要指示批示精神,以及李克强总理批示要求,认真落实全国安全生产电视电话会议和全省、全市安全生产电视电话会议精神,研究我县安全生产和安全隐患大

  • 2022年市委政研室机关党的建设工作的总体要求是:坚持以XXX新时代中国特色社会主义思想为指导,全面贯彻党的XX届X中X会和省、市第十二次党代会精神,自觉运用党的百年奋斗历史经验,弘扬伟大建党精神,深

  • 同志们:今天,我们在这里召开市直机关基层党建示范点工作会议,一方面是对各示范点单位进行表彰授牌,另一方面是想通过这种会议交流的方式,给大家提供一个相互学习、取长补短的平台和机会。市直工委历来把创建基层

  • 新冠疫情暴发以来,学校党委坚决贯彻习近平总书记关于疫情防控工作的指示要求和党中央的决策部署,严格执行×××部、×××厅关于疫情防控的系列要求,认真落实驻地防疫部门的工作举措,继承发扬优良传统,以最高标