看了很多的文章,写的都很简单(其实也很简单:))。给出个详细一点的教程。
1. 利用VSPD将PC上的两个虚拟串口连接起来。如图我将COM2 和COM3连接起来。点击Addr pair。
2. 可以看到Virtual ports上将两个虚拟串口连接到了一起了。
3.虚拟串口准备就绪了。先将直接输入命令的方式来调试。我们打开KEIL MDK的,设置成仿真的模式。点DEBUG.在COMMAND串口输入:MODE COM2 38400, 0, 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位停止位。
MODE COM2 19200, 1, 8, 1
设置串口2。波特率为19 200,奇校验,8位数据,1位停止位。
4、点回车后,再输入 ASSIGN COM2 <S1IN> 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则是没有括号的。
5、然后调试程序。可以看到串口COM3打印出了串口1的数据了。