利用VSPD、串口调试助手、Keil做串口调试
下面详细介绍下如何用虚拟串口调试串口发送接收程序。
本文引用地址:https://www.eepw.com.cn/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
为了不每次都重新绑定串口,可以建立一个初始化文件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;
- //}
- }
评论