利用VSPD、串口調(diào)試助手、Keil做串口調(diào)試
下面詳細(xì)介紹下如何用虛擬串口調(diào)試串口發(fā)送接收程序。
本文引用地址:http://m.butianyuan.cn/article/201611/320470.htm需要用到三個(gè)軟件:KEIL、VSPD XP5(virtual serial ports driver xp5.1虛擬串口軟件)、串口調(diào)試助手(個(gè)人感覺2.1比較好用)。
1、首先在KEIL里編譯寫好的程序。
2、打開VSPD,界面如下圖所示:
左邊欄最上面的是電腦自帶的物理串口。點(diǎn)右邊的add pair,可以添加成對(duì)的串口。一對(duì)串口已經(jīng)虛擬互聯(lián)了,如果添加的是COM3、COM4,用COM3發(fā)送數(shù)據(jù),COM4就可以接收數(shù)據(jù),反過來也可以。
3、接下來的一步很關(guān)鍵。把KEIL和虛擬出來的串口綁定?,F(xiàn)在把COM3和KEIL綁定。在KEIL中進(jìn)入DEBUG模式。在最下面的COMMAND命令行,輸入
MODE COM3 4800,0,8,1(設(shè)置串口3的波特率、奇偶校驗(yàn)位、數(shù)據(jù)位、停止位,打開COM3串口,注意設(shè)置的波特率和程序里設(shè)置的波特率應(yīng)該一樣)
ASSIGN COM3
為了不每次都重新綁定串口,可以建立一個(gè)初始化文件debug.ini。初始化文件是一個(gè)普通的文本文件,內(nèi)容就是仿真時(shí)需要的命令,按照順序一行輸入一條。如圖2所示,建立了一個(gè)debug.ini的初始化文件。這樣,當(dāng)每次進(jìn)入仿真調(diào)試狀態(tài)時(shí),Keil就會(huì)自動(dòng)載入debug.ini 的內(nèi)容進(jìn)行初始化。
4.串口調(diào)試助手
可以看到虛擬出來的串口COM3、COM4,選擇COM4,設(shè)置為波特率4800,無校驗(yàn)位、8位數(shù)據(jù)位,1位停止位(和COM3、程序里的設(shè)置一樣)。打開COM4。
現(xiàn)在就可以開始調(diào)試串口發(fā)送接收程序了??梢酝ㄟ^KEIL發(fā)送數(shù)據(jù),在串口調(diào)試助手中就可以顯示出來。也可以通過串口調(diào)試助手發(fā)送數(shù)據(jù),在KEIL中接收。
串口調(diào)試助手不支持發(fā)送發(fā)送漢字,回車符等。如需支持可使用usr-tcp232-test(支持漢字),或者超級(jí)終端(支持漢字,回車符和Keil串口仿真控件效果一樣)。
這種方法的好處是不用硬件就可以調(diào)試。這是網(wǎng)上一篇文章介紹的方法.
- //利用VSPD、串口調(diào)試助手、Keil串口自發(fā)自收程序
- //測(cè)試通過
- #include
- #defineucharunsignedchar
- #defineuintunsignedint
- uchari=0;
- //串口初始化程序
- voidinit_chuankou()
- {
- TMOD=0x20;
- TH1=0xfd;//波特率9600
- TL1=0xfd;
- SM0=0;
- SM1=1;
- REN=1;
- EA=1;
- TR1=1;
- ES=1;
- }
- voidmain()
- {
- init_chuankou();
- while(1)
- {
- }
- }
- voides()interrupt4
- {
- if(RI)
- {
- RI=0;
- i=SBUF;
- SBUF=i;
- while(TI==0);
- TI=0;
- }
- //else
- //{
- //TI=0;
- //SBUF=i;
- //}
- }
評(píng)論