首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

RVMDK中软件仿真串口通信

RVMDK中软件仿真串口通信

RVMDK 中使用虚拟串口VSPD和串口调试工具调试串口通信

最近在帮人做一个单片机编程的东西,用的单片机是STM32系列的,既要做上位机,又要做下位机,上位机和下位机要进行通信,得通过串口通信,才行,上位机用VC的MFC编写的,上位机做好了,开始搞下位机,奈何本人是搞纯软件的,并不熟悉硬件编程,参考书上做了个单片机串口的实验,可是手边又没有真的单片机给我用来调试,想通过软件仿真来进行串口通信,可是书上的软件仿真部分,直接略过了,网上直接搜单片机的串口通信软件仿真,根本找不到例子。搜寻了很久,才找到用RVMDK进行串口通信软件仿真的方法。在这里趁机写篇博客,以防自己以后忘记了,再用到可以看一下,也给如果刚好找解决方法的人,看到我博客后,提供一下方法。
先说参考文章:
http://bbs.ednchina.com/BLOG_ARTICLE_310610.HTM

http://www.cnblogs.com/hnrainll/archive/2011/01/15/1936274.html
上面的是人家的文章,都是前辈和大神啊……学习了……

如下是方法:
  首先下载VSPD和串口调试助手吧,如果有了就免了。这两个工具网上直接搜一下就用的,有很多资源点可以下载的。
VSPD虚拟串行驱动程序,虚拟串行驱动程序(VSPD)是一个可在计算机(Windows)下操作的程序,此驱动程序会创造数个“虚拟”的串行埠。 由一般程序看来,这些虚拟的串行端口跟实体的串行端口相同,唯一不同于传统传输的地方是在于程序所送出的信息是透过TCP/IP局域网络送至虚拟串行端口,之后由EM100再将所收到的信息传达至串行设备。 当串行设备要回传信息时,要先将信息传至EM100,而后再藉由局域网络将信息传回至位于计算机端的虚拟串行驱动程序,当虚拟串行驱动程序收到信息后,又会将其传回给程序,就如同传统串行线的传输一般。 所以不论串行设备或计算机程序都无法辨别真实串行与虚拟串行传输的不同。
反正VSPD就是可以用来模拟真实的串口就行了。


如上面所示,通过点击添加端口就可以添加一对串口的端口,一个接收数据,一个发送数据,当然反过来也是可以的。比如我使用的是COM1和COM2,COM1可以用来发送数据,也可以用来接收。


串口调试助手,其实就是个电脑上的接收从单片机发来的消息的工具,其实就是上位机了,因为我自己写了上位机的部分,我可以直接用自己的上位机就进行仿真调试了。但是这里还是截图使用常用的串口调试工具好了。



如上面所示,工具使用方法很简单,看一眼就会的,就不多说了,下面主要介绍RVMDK中怎么设置吧。

在RVMDK中首先设置为仿真模式。就是点一下




图中那个红色的小d那个按钮,就进入仿真模式了,接着在左下角的COMMAND窗口中输入命令







MODE COM1 9600,n,8,1  这个是命令。输入好后按下回车

说明:



MODE命令的作用是设置被绑定计算机串口的参数。基本使用方式为:



MODE COMx baudrate, parity, databits, stopbits



其中:



COMx(x = 1,2,…)代表计算机的串口号;



baudrate代表串口的波特率;parity代表校验方式;



databits代表数据位长度;



stopbits代表停止位长度。



例如:MODE COM1 9600, n, 8, 1



设置串口1。波特率为9 600,无校验位,8位数据,1位停止位。


接着,再输入 ASSIGN COM1 S1OUT,再回车





COMx代表计算机的串口,可以是COM1、COM2、COM3或其他;



inreg和outreg代表单片机的串口。对于只有一个串口的普通单片机,即SIN和SOUT;对于有两个或者多个串口的单片机,即SnIN和SnOUT(n=0,1,…即单片机的串口号)。



例如:ASSIGN COM1 < SIN > SOUT



将计算机的串口1绑定到单片机的串口(针对只有一个串口的单片机)。



ASSIGN COM2 < SIN > SOUT



将计算机的串口2绑定到单片机的串口0(针对有多个串口的单片机,注意串口号的位置)。



需要注意的是,参数的括号是不能省略的,而outreg则是没有括号的。


最后,上面的都设置好后就可以进行仿真调试了,这样做的好处就是可以不用把程序下载到单片机上,直接在电脑上通过RVMDK和VSDP以及串口调试助手,直接进行仿真实验串口通信了,实际上比下载到单片机上方便多了。但是,当然软件仿真并不能解决所有问题,有些还是得下载到单片机上进行硬件调试才可以真正解决为哦……

继承事业,薪火相传
返回列表