看了很多的文章,寫的都很簡單(其實也很簡單:))。給出個詳細一點的教程。
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的數據了。