利用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 <SIN> 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串口仿真控件效果一样)。
这种方法的好处是不用硬件就可以调试。这是网上一篇文章介绍的方法.
- // 利用VSPD、串口调试助手、Keil串口自发自收程序
- //测试通过
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar i=0;
- //串口初始化程序
- void init_chuankou()
- {
- TMOD=0x20;
- TH1=0xfd; //波特率9600
- TL1=0xfd;
- SM0=0;
- SM1=1;
- REN=1;
- EA=1;
- TR1=1;
- ES=1;
- }
- void main()
- {
- init_chuankou();
- while(1)
- {
- }
- }
- void es() interrupt 4
- {
- if(RI)
- {
- RI=0;
- i=SBUF;
- SBUF=i;
- while(TI==0);
- TI=0;
- }
- // else
- // {
- // TI=0;
- // SBUF=i;
- // }
- }
// 利用VSPD、串口调试助手、Keil串口自发自收程序
//测试通过#include<reg52.h>
#define uchar unsigned char
#define uint unsigned intuchar i=0;//串口初始化程序
void init_chuankou()
{TMOD=0x20;TH1=0xfd; //波特率9600TL1=0xfd;SM0=0;SM1=1;REN=1;EA=1;TR1=1;ES=1;
}void main()
{init_chuankou();while(1){}
}void es() interrupt 4
{if(RI){RI=0; i=SBUF;SBUF=i;while(TI==0);TI=0; }
// else
// {
// TI=0;
// SBUF=i;
// }
}
利用VSPD、串口调试助手、Keil做串口调试相关推荐
- 利用python程序、虚拟串口软件、串口通信助手,实现串口通信(两串口互相收发文字)
一.流程简述 程序可以参考: https://blog.csdn.net/colcloud/article/details/42454839 这是我参考后简化的版本: https://github.c ...
- C#调试程序出现托管调试助手 DisconnectedContext、托管调试助手 ContextSwitchDeadlock错误的处理
错误现象 调试C#代码出现如下错误,然后多次点击按钮后软件正常运行 托管调试助手 "DisconnectedContext" Message=托管调试助手 "Discon ...
- 【Qt串口调试助手】1.1 - Qt5编写串口调试助手,Qt串口编程
这章来学习串口数据流操作.仿照已有成品制作一个用Qt开发的串口调试助手. 介于篇幅有限,本篇只介绍一个最简单的能收发的串口调试助手的制作.后续篇幅会陆续对剩余代码进行讲解,并添加各种功能,对显示.操作 ...
- 山外调试助手虚拟示波器串口通信协议
通信协议格式为[0x03] [0xfc][数据......][0xfc][0x03],完成一次波形发送. 部分代码: void usart1_send_char(u8 c) { while(( ...
- 航天广电广播系统服务器调试,广播系统应该做哪些调试
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 广播系统的调试主要指广播系统安装施工完毕后,对设备安装过程进行全面的.常规性的检查,并作开通试验和音质评价,其主要工作内容有:传输线路检查.配接检查,绝缘 ...
- 基于AT89C52和串口通信助手的串口通信
我们要实现的功能是在程序运行的时候通过单片机的串口向串口调试助手发送一个字符串诸如"hello world",串口通信助手接收到字符串之后显示并由用户反馈回去一个长度为4的字符串并 ...
- ESP8266模组作为客户端连接到网络调试助手服务器
本文将展示如何以WiFi作为联网方式,ESP8266WiFi模组作为客户端,网络调试助手作为TCP服务器,以TCP协议为基础,使用AT指令连接到网络调试助手. 一.前期准备 1.硬件准备: (1)小熊 ...
- QT开发网络调试助手项目总结
之前整理了一些使用QT开发串口调试助手的项目. 博客地址:上位机总结 这次继续整理一些使用QT开发网络调试助手的项目. Qt开源作品41-网络调试助手增强版V2022 我的QT学习之路,编写UDP+t ...
- 串口服务器调试助手使用教程,comassistant串口调试助手使用说明.pdf
作者:温子祺 wenziqi@ wenziqi@ 单片机多功能调试助手简介 单片机多功能调试助手简介 单单片片机机多多功功能能调调试试助助手手简简介介 1 1 11 简介 图1 单片机多功能调试助手 ...
最新文章
- java serializable用法_JAVA序列化Serializable及Externalizable区别详解
- JSP中一个页面怎么分清是链接过来还是提交过来的?
- 技术迭代快速。PyTorch 真的优于Tensorflow吗?
- 魏德米勒端子eplan宏_Weidmüller Configurator 魏德米勒端子配置软件
- 修改域名需要重启服务器,GitLab修改域名host
- 上涨趋势回踩均线选股器
- 中国网站广告联盟大集合
- Java+Springmvc+velement实现高校学科竞赛项目系统+Lw
- 我的理解之JAVA中的4种访问权限
- [Python] python 破解Excel密码(还原工作表密码)
- 关于腾讯TBS中,加载失败问题(64位手机无法加载x5)
- 删除list列表中的某一个元素的多种方法
- OGR遍历要素及重置
- 电子科技大学信息与通信工程学院858考研上岸经验分享(一)
- Windows 安装程序进程错误代码和错误信息列表
- Mx Linux 截图工具-shutter
- STL详解(十二)—— unordered_set、unordered_map的介绍及使用
- [小黄书管理平台]登录页面和模型驱动表单
- 5G基站射频传导测试研究与应用
- java.lang.NoSuchFieldError: No static field id_sl_hlry of type I in class Lcom/bsoft/mob/common/R$id