找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5475|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

keil mdk 利用虛擬串口調(diào)試的方法

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:99624 發(fā)表于 2015-12-27 02:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
需要用到三個軟件:KEIL,VSPD XP5virtual serial ports driver xp5.1虛擬串口軟件),串口調(diào)試助手。
  1、首先在KEIL里編譯寫好的程序:
  2、打開VSPD,界面如下圖所示:

左邊欄最上面的是電腦自帶的物理串口。點右邊的add pair,可以添加成對的串口。一對串口已經(jīng)虛擬互聯(lián)了,如果添加的是COM3、COM4,用COM3發(fā)送數(shù)據(jù),COM4就可以接收數(shù)據(jù),反過來也可以。
 3、接下來的一步很關(guān)鍵。把KEIL和虛擬出來的串口綁定。現(xiàn)在把COM3和KEIL綁定。在KEIL中進(jìn)入DEBUG模式。在最下面的COMMAND命令行,輸入
  MODE COM3 4800,0,8,1(設(shè)置串口3的波特率、奇偶校驗位、數(shù)據(jù)位、停止位,打開COM3串口,注意設(shè)置的波特率和程序里設(shè)置的波特率應(yīng)該一樣)
  ASSIGN COM3 SOUT(把單片機(jī)的串口和COM3綁定到一起。因為我用的單片機(jī)是AT892051,只有一個串口,所以用SIN,SOUT,如果單片機(jī)有幾個串口,可以選擇S0IN,S0OUT,S1IN,S1OUT。)
  4、打開串口調(diào)試助手

     可以看到虛擬出來的串口COM3、COM4,選擇COM4,設(shè)置為波特率4800,無校驗位、8位數(shù)據(jù)位,1位停止位(和COM3、程序里的設(shè)置一樣)。打開COM4。
  現(xiàn)在就可以開始調(diào)試串口發(fā)送接收程序了?梢酝ㄟ^KEIL發(fā)送數(shù)據(jù),在串口調(diào)試助手中就可以顯示出來。也可以通過串口調(diào)試助手發(fā)送數(shù)據(jù),在KEIL中接收。
比如我將com4和com5連接,利用單片機(jī)串口2.輸入的命令為
MODE COM4 9600,n, 8, 1
ASSIGN COM4<S2IN> S2OUT

說明:

MODE命令的作用是設(shè)置被綁定計算機(jī)串口的參數(shù);臼褂梅绞綖椋

MODE COMx baudrate, parity, databits, stopbits

其中:

COMx(x = 1,2,…)代表計算機(jī)的串口號;

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

databits代表數(shù)據(jù)位長度;

stopbits代表停止位長度。

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

設(shè)置串口1。波特率為9 600,無校驗位,8位數(shù)據(jù),1位停止位。

MODE COM2 19200, 1, 8, 1

設(shè)置串口2。波特率為19 200,奇校驗,8位數(shù)據(jù),1位停止位。

4、點回車后,再輸入 ASSIGN COM4 <S1IN>S1OUT

說明:

COMx代表計算機(jī)的串口,可以是COM1、COM2、COM3或其他;

inreg和outreg代表單片機(jī)的串口。對于只有一個串口的普通單片機(jī),即SIN和SOUT;對于有兩個或者多個串口的單片機(jī),即SnIN和SnOUT(n=0,1,…即單片機(jī)的串口號)。

例如:ASSIGN COM1 < SIN > SOUT

將計算機(jī)的串口1綁定到單片機(jī)的串口(針對只有一個串口的單片機(jī))。

ASSIGN COM2 < SIN > SOUT

將計算機(jī)的串口2綁定到單片機(jī)的串口0(針對有多個串口的單片機(jī),注意串口號的位置)。

需要注意的是,參數(shù)的括號是不能省略的,而outreg則是沒有括號的。

5、然后調(diào)試程序?梢钥吹酱贑OM5打印出了串口1的數(shù)據(jù)了。

這樣就能夠?qū)⒂嬎銠C(jī)的串口模擬成單片機(jī)的串口了。在進(jìn)行軟件仿真時,所有發(fā)送到被綁定的計算機(jī)串口上的數(shù)據(jù)都會轉(zhuǎn)發(fā)到Keil模擬的單片機(jī)串口上,用戶程序可以通過中斷處理程序或查詢方式接收到這些數(shù)據(jù);同樣,單片機(jī)程序中發(fā)送到單片機(jī)串口上的數(shù)據(jù)也會通過被綁定的計算機(jī)串口發(fā)送出來,可以被其他軟件所接收。利用這個特點,就可以方便地仿真、調(diào)試單片機(jī)的串口部分程序。要注意的是,這兩個命令需要一起使用。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表