单片机串口收发仿真实验

学习单片机过程中遇到两个问题:

1、写好串口代码,手边没有硬件调试;

2、串口收发出现奇怪的问题,无法定位;

经过百度,百度,再百度后,终于找到了解决方法,那就是:串口收发仿真。不多说,总结如下:

实验需要的软件:VSPD(Virtual Serial Port Driver)、串口调试助手、Keil

环境搭建:

 1、VSPD配置:

△点击1处选择两个互相通信的串口,其中一层的串口要和串口调试助手设置的串口相同,且两个串口的串口号是在Keil中可识别的(稍后Keil部分详说);

△选好串口后,点击2处添加;

单片机串口收发仿真实验

单片机串口收发仿真实验

△ 当要删除串口对时,在串口没被占用的情况下,点击4删除;

2、串口调试助手设置:

⊙设置好相关参数,包括串口、波特率、校验位等,另外为了使接收的数据不出现乱码,采用十六进制发送和显示,如图:

单片机串口收发仿真实验

3、Keil设置:

⊙源码编译通过后,打开Debug

⊙在【View】中选择打开【Command window】,如图:点击1和3可以切换到命令窗口和串口数据监视窗口,在命令窗口下,2处为输入命令行;

单片机串口收发仿真实验

⊙用命令对串口设置:

△如图,输入命令时,在其下方2处会有命令提示:

单片机串口收发仿真实验

△在输入com后会显示出当前系统中可识别的串口(VPSD中设置可参考):

单片机串口收发仿真实验

△设置被绑定计算机串口参数,使用mode命令,其后参数与串口调试助手中设置参数相同,命令格式为:

MODE  COMx baudrate, parity, databits, stopbits

COMx:计算机串口号(VSPD中设置的串口号);

Baudrate:波特率

Parity:校验方式,0表示无校验,1表示奇校验,2表示偶校验

Databits:数据位

Stopbits:停止位

单片机串口收发仿真实验

△设置好参数后需要将单片机串口绑定到计算机串口,使用assign命令,命令格式如下:

ASSIGN channel <inreg> outreg

Channel:计算机串口号,设置好参数的串口;

<inreg>和outreg:代表单片机串口,对于只有一个串口的单片机,即<SIN>和SOUT;对于有两个或多个串口的单片机为<SnIN>和SnOUT(n为0,1,2…)。注意:<SIN>的<>必须带上;

单片机串口收发仿真实验

△设置好后,能看到VSPD的串口处有参数:

单片机串口收发仿真实验

到此,单片机串口收发仿真的环境就搭建完成了,接下来进行仿真操作。需要注意的是,串口仿真既需要单步调试查看具体情况,也需要全速运行模拟现实的通信。

仿真的串口通信和现实串口测试相似:串口助手模拟上位机发送和接受数据,Keil环境模拟单片机串口,它的串口监视窗口显示单片机从上位机收到的数据。

相关推荐