下面具体介绍下如何用虚拟串口调试串口发送接纳程序。
需求用到三个软件: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
为了不每次都从头绑定串口,能够树立一个初始化文件debug.ini。初始化文件是一个一般的文本文件,内容便是仿真时需求的指令,依照次序一行输入一条。如图2所示,树立了一个debug.ini的初始化文件。这样,当每次进入仿真调试状况时,Keil就会主动载入debug.ini 的内容进行初始化。
4.串口调试帮手
能够看到虚拟出来的串口COM3、COM4,挑选COM4,设置为波特率4800,无校验位、8位数据位,1位中止位(和COM3、程序里的设置相同)。翻开COM4。
现在就能够开端调试串口发送接纳程序了。能够经过KEIL发送数据,在串口调试帮手中就能够显示出来。也能够经过串口调试帮手发送数据,在KEIL中接纳。
串口调试帮手不支撑发送发送汉字,回车符等。如需支撑可运用usr-tcp232-test(支撑汉字),或许超级终端(支撑汉字,回车符和Keil串口仿真控件作用相同)。
这种办法的优点是不必硬件就能够调试。这是网上一篇文章介绍的办法.
- //使用VSPD、串口调试帮手、Keil串口自发自收程序
- //测试经过
- #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;
- //}
- }