<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 利用VSPD、串口調試助手、Keil做串口調試

          利用VSPD、串口調試助手、Keil做串口調試

          作者: 時間:2016-11-23 來源:網(wǎng)絡 收藏

          下面詳細介紹下如何用虛擬串口調試串口發(fā)送接收程序。

          本文引用地址:http://www.ex-cimer.com/article/201611/320470.htm

          需要用到三個軟件:KEIL、VSPD XP5(virtual serial ports driver xp5.1虛擬串口軟件)、串口調試助手(個人感覺2.1比較好用)。

          1、首先在KEIL里編譯寫好的程序。

          2、打開VSPD,界面如下圖所示:

          左邊欄最上面的是電腦自帶的物理串口。點右邊的add pair,可以添加成對的串口。一對串口已經(jīng)虛擬互聯(lián)了,如果添加的是COM3、COM4,用COM3發(fā)送數(shù)據(jù),COM4就可以接收數(shù)據(jù),反過來也可以。

          3、接下來的一步很關鍵。把KEIL和虛擬出來的串口綁定?,F(xiàn)在把COM3和KEIL綁定。在KEIL中進入DEBUG模式。在最下面的COMMAND命令行,輸入

          MODE COM3 4800,0,8,1(設置串口3的波特率、奇偶校驗位、數(shù)據(jù)位、停止位,打開COM3串口,注意設置的波特率和程序里設置的波特率應該一樣)

          ASSIGN COM3 SOUT(把單片機的串口和COM3綁定到一起。因為我用的單片機是STC89C52,只有一個串口,所以用SIN,SOUT,如果單片機有幾個串口,可以選擇S0IN,S0OUT,S1IN,S1OUT。)

          為了不每次都重新綁定串口,可以建立一個初始化文件debug.ini。初始化文件是一個普通的文本文件,內容就是仿真時需要的命令,按照順序一行輸入一條。如圖2所示,建立了一個debug.ini的初始化文件。這樣,當每次進入仿真調試狀態(tài)時,Keil就會自動載入debug.ini 的內容進行初始化。

          4.串口調試助手

          可以看到虛擬出來的串口COM3、COM4,選擇COM4,設置為波特率4800,無校驗位、8位數(shù)據(jù)位,1位停止位(和COM3、程序里的設置一樣)。打開COM4。

          現(xiàn)在就可以開始調試串口發(fā)送接收程序了??梢酝ㄟ^KEIL發(fā)送數(shù)據(jù),在串口調試助手中就可以顯示出來。也可以通過串口調試助手發(fā)送數(shù)據(jù),在KEIL中接收。

          串口調試助手不支持發(fā)送發(fā)送漢字,回車符等。如需支持可使用usr-tcp232-test(支持漢字),或者超級終端(支持漢字,回車符和Keil串口仿真控件效果一樣)。

          這種方法的好處是不用硬件就可以調試。這是網(wǎng)上一篇文章介紹的方法.

          [cpp]view plaincopy
          1. //利用VSPD、串口調試助手、Keil串口自發(fā)自收程序
          2. //測試通過
          3. #include
          4. #defineucharunsignedchar
          5. #defineuintunsignedint
          6. uchari=0;
          7. //串口初始化程序
          8. voidinit_chuankou()
          9. {
          10. TMOD=0x20;
          11. TH1=0xfd;//波特率9600
          12. TL1=0xfd;
          13. SM0=0;
          14. SM1=1;
          15. REN=1;
          16. EA=1;
          17. TR1=1;
          18. ES=1;
          19. }
          20. voidmain()
          21. {
          22. init_chuankou();
          23. while(1)
          24. {
          25. }
          26. }
          27. voides()interrupt4
          28. {
          29. if(RI)
          30. {
          31. RI=0;
          32. i=SBUF;
          33. SBUF=i;
          34. while(TI==0);
          35. TI=0;
          36. }
          37. //else
          38. //{
          39. //TI=0;
          40. //SBUF=i;
          41. //}
          42. }



          關鍵詞: VSPDKeil串口調

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();