利用VSPD、串口调试助手、Keil做串口调试

2016-01-10来源: 互联网关键字:VSPD  Keil  串口调试

下面详细介绍下如何用虚拟串口调试串口发送接收程序。

需要用到三个软件: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.   
  4. #include  
  5. #define uchar unsigned char  
  6. #define uint unsigned int  
  7.   
  8. uchar i=0;  
  9.   
  10. //串口初始化程序  
  11. void init_chuankou()  
  12. {  
  13.     TMOD=0x20;  
  14.     TH1=0xfd; //波特率9600  
  15.     TL1=0xfd;  
  16.     SM0=0;  
  17.     SM1=1;  
  18.     REN=1;  
  19.     EA=1;  
  20.     TR1=1;  
  21.     ES=1;  
  22. }  
  23.   
  24. void main()  
  25. {  
  26.     init_chuankou();  
  27.     while(1)  
  28.     {  
  29.           
  30.     }  
  31. }  
  32.   
  33. void es() interrupt 4  
  34. {  
  35.     if(RI)  
  36.     {  
  37.         RI=0;   
  38.         i=SBUF;  
  39.         SBUF=i;  
  40.         while(TI==0);  
  41.         TI=0;     
  42.     }  
  43. //  else  
  44. //  {  
  45. //      TI=0;     
  46. //      SBUF=i;  
  47. //  }     
  48. }  

关键字:VSPD  Keil  串口调试 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/article_24360.html

上一篇:51单片机中关于波特率的介绍
下一篇:MCS-51单片机的中断系统(2)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

详解keil4怎样新建一个工程且新建文件
学习单片机要用到keil等的代码编译软件,初学者需要从第一步新建工程走起,做好第一步,才能越走越远。工具/原料电脑,keil软件方法/步骤打开keil软件,找到project,下拉菜单有一项new uvision project。点击这个项目,会出现一个项目路径自定义项目名称和保存位置。选择需要烧代码的单片机芯片的生产公司以及相应的芯片型号上一步做好以后,出现一个提示,点是就会生成一个51的启动文件,否就不会出现,如图,是点了是以上步骤就新建了一个工程。我们可以直接add进去已有的文件。本次介绍如何自己新建文件。点标题栏的新建按钮,出现了一个随机的text1,点击保存按钮,会提出下图的对话框。如果是C语言就在文件名后加上.c
发表于 2021-01-10
详解<font color='red'>keil</font>4怎样新建一个工程且新建文件
51单片机Keil C51的使用(C语言)
实验目的:初步掌握Keil(C51语言)和SUN ES59PA实验仪的操作和使用,能够输入和运行简单的程序。实验设备:SUN ES59PA实验仪一套、具有一个RS232串行口并安装Keil C51的计算机一台。实验原理及环境:1.在计算机上已安装Keil C51软件。这个软件既可以与硬件(SUN ES59PA实验仪)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。2. 实验的硬件环境:A3区:CPU总线、I/O接口 片选区JP37,JP45:地址线A0..A7;JP48、JP50:CPU的D0
发表于 2020-11-25
51单片机<font color='red'>Keil</font> C51的使用(C语言)
keil编译中所有编译的错误信息
1."c" not an argument in function sum 该标识符不是函数的参数  2.array bounds missing ] in function main 缺少数组界限符 "]"  3.Array size too large in function main 数组规模太大  4.bad file name format in include directive 在包含指令中的文件名格式不正确.  5.Call of non-function in function main 调用未经
发表于 2020-10-15
Keil4中建立基于V3.4.0固件库的STM32工程
;Keil版本: μVision 4.1.0       STM32固件库版本: V3.4.0     第一步,建立工程文件夹,在其子文件夹内拷贝并整理好相应的文件。        1.1、建立工程文件夹,将它命名为"SysTick"。        1.2、在"SysTick"下分别建立"Lib
发表于 2020-10-15
51单片机keil提供的启动代码解析(STARTUP.A51)
1.由Keil C生成的启动代码程序清单1.1 AT89C51启动代码$NOMOD51    //不使用51默认的特殊功能寄存器;------------------------------------------------------------------------------; This file is part of the C51 Compiler package; Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc
发表于 2020-09-23
keil中for循环变量递减,无法跳出循环的问题
定义j时应注意其变量类型char,此循环当j=0时,再执行一次则keil中j=0XFF,而不是-1,所以无法跳出循环。但在vc6.0中是可以跳出循环的。解决办法如下:不能让j的值为负数uchar j;
发表于 2020-09-21
<font color='red'>keil</font>中for循环变量递减,无法跳出循环的问题
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved