新聞中心

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

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

        作者: 時間:2016-11-23 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/201611/320470.htm

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

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

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

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

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

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

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

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

        4.串口調試助手

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

        現在就可以開始調試串口發送接收程序了。可以通過KEIL發送數據,在串口調試助手中就可以顯示出來。也可以通過串口調試助手發送數據,在KEIL中接收。

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

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

        [cpp]view plaincopy
        1. //利用VSPD、串口調試助手、Keil串口自發自收程序
        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串口調

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 察隅县| 怀仁县| 漠河县| 青州市| 瑞金市| 穆棱市| 湘潭市| 湟中县| 凌海市| 化州市| 天全县| 雷波县| 绵竹市| 河北省| 新竹县| 区。| 军事| 印江| 屏山县| 桓台县| 牡丹江市| 柳林县| 彰化县| 沐川县| 通州市| 奎屯市| 和平县| 讷河市| 喜德县| 仪征市| 桂林市| 昌黎县| 莆田市| 石阡县| 托克托县| 东阳市| 枝江市| 甘泉县| 巴楚县| 漾濞| 额敏县|