你应该是使用keil软件仿真,使用虚拟串口模拟串口收发数据的吧!
如果要keil收到整帧的数据,那么把断点位置修改下,在接收缓存收完全部数据的时候软件设个标志,将断点设到标志后面,标志改变就进断点。就可以收完整串数据了。
而如果在接收处设断点,每次收到一个数据就进断点,程序就停了。
还有就是必须有接收缓冲区,存储接收数据。
在嵌入式开发和单片机开发,串口是必不可少是外设设备,串口可以用于调试程序的正确性,同样他可以运用于你的整个开发平台,因而知道如何利用串口调试助手是十分重要的,本节介绍其的使用。
工具/原料
串口调试精灵
方法/步骤
百度上搜索“串口调试助手”或者“串口调试精灵”,进行简单的安装。
点击运行串口调试助手,进入相应的界面。
设置串口通讯的接口,波特率校验位等相关信息。
在发送栏输入你要发送的信息,选择手动发送或者自动发送,这时如果没有什么错误,对方的串口通信工具就会收到你发送的内容。
设置接收区域的相关信息,这时对方如果发送信息,你的接收区就会收到相应的内容。
另外你也可以进行文件的发送,但是串口通信的速率过慢,传输文件的话会很耗时,不过可以用来检测通信的正确性。
那个串口助手只能调一般的程序,有的汉字显示不了。
串口调试助手使用说明
为简单明了,有些不言自明的功能不作介绍。
1 串口调试助手
11 设置串口参数:
串口号:1-16
波特率:600-256000,>115200 时需要硬件支持。
2 接收区/键盘发送区
21 接收数据
a) 设置串口参数
b) 如果要按十六进制形式显示接收数据,将十六进制显示选项选中。
c) 点击打开/关闭串口区中的打开串口按钮。
22 显示接收数据的长度
因某些限制,显示接收数据的文本不能太长,所以当显示文本长度快达到 62K 时会自动将显示文本删减到 32K,此时文本可保留 32K 的字符或约 10K 的十六进制数据显示。
23 在键盘上发送英文字符
a)在接收区/键盘发送区的输入框中用鼠标点一下。
b)在键盘按下按键立刻发送。
在这里不能发送回车换行,也不能发送汉字,若要发送请在单字符串发送区发送。
3 发送数据
可以发送单字符串,多字符串(字符串序列)或直接在键盘上发送英文字符。有两种发送数据格式,一种是普通的字符串,另外一种是十六进制数据即 HEX 格式数据。发送 HEX 格式数据时要在字符串输入区中输入 HEX 格式字符串,并且要将相应区内的十六进制发送选项选中。
例:HEX 格式数据字符串 12 34 AB CD FF
31 单字符串发送区
311自动发送,自动发送周期:
此项功能可以每隔一段时间反复地自动发送输入框中的数据,点击自动发送按钮后即启动自动发送功能。
自动发送周期最大为 65535mS。
32 多字符串发送区
在多字符串发送区可以发送一个字符串,或者自动地、依次发送所有的字符串。
请把鼠标移到“接收区/键盘发送区”和“多字符串发送区”之间,当鼠标形状发生变化时按下鼠标器的左键不松开,然后移动鼠标,将“多字符串发送区”的宽度调宽一些,让“间隔时间”显露出来。
321发送一个字符串
a) 输入字符串。
b) 如果要发送 16 进制数据, 要先在字符串后的 HEX 选项框中打上对勾。
c) 点击发送按钮。发送后,按钮上的数字作为当前字符串序号保存起来,此序号在自动循环发送中要用到它。
322 发送多个字符串(字符串序列)
a) 输入多个字符串。
b) 如果要发送 16 进制数据, 将相应的 HEX 选项打上对勾。
c) 输入间隔时间,最大为 65535mS。
d) 点击自动循环发送按钮。
延时时间到达后发送当前字符串( 见321的步骤 c) )的下一个字符串,间隔一段时间后再发送下一个。发送完毕自动从头开始继续发送。
4 打开/关闭串口区
下载后打开串口选项:选中这选项后,每次下载后会自动打开调试助手指定的串口,接收应用程序发送的数据。
下载后出现“无效的端口号”时,您可能会有莫名其妙的感觉,此时要重新选择串口调试助手指定的串口,或将这选项的对勾去掉。
5 “收缩主窗体”按钮
若您想使用两个串口调试助手时,可以另外打开一个下载程序,但本程序的窗体显然太大,使用起来不方便。如果您点击一下“收缩主窗体”按钮,就可以在显示屏上同时放下两个串口调试助手。
串口助手是一款通过电脑串口(包括USB口)收发数据并且显示的应用软件,一般用于电脑与嵌入式系统的通讯,借助于它来调试串口通讯或者系统的运行状态。也可以用于采集其他系统的数据,用于观察系统的运行情况。相对于Windows系统的超级终端,串口助手使用更方便和灵活,界面更友好。如图所示是一款串口助手的界面;
///////////////////////////////////////////////////////////
//
设计题目
:
基于51单片机的串口通信
//
功能
:
//
说明
:
晶振用12m,
///////////////////////////////////////////////////////////
#include
//
12m
晶振
#define
uchar
unsigned
char
#define
uint
unsigned
int
///////////////////////////////////////////////////////////
//
name
:
串口发送函数
//
in
:
//
out
:
//
function
:
//
explain
:
///////////////////////////////////////////////////////////
void
send(uchar
x)
{
sbuf=x;
//
将数据放到缓冲区,发送
while(!ti);
//
等待发送完成
ti=0;
//
清标志位
}
///////////////////////////////////////////////////////////
//
name
:
初始化函数
//
in
:
//
out
:
//
function
:
//
explain
:
///////////////////////////////////////////////////////////
void
init(void)
{
tmod=0x20;
//
t1工作在方式2,自动重载
th1=0xe6;
tl1=0xe6;
//
设置波特率为1200
sm0=0;
sm1=1;
//
串口方式1
tr1=1;
//
打开定时器1
}
///////////////////////////////////////////////////////////
//
name
:
主函数
//
in
:
//
out
:
//
function
:
//
explain
:
///////////////////////////////////////////////////////////
void
main(void)
{
uchar
i;
init();
//
初始化
while(1)
{
for(i=0;
i<10;
i++)
{
send(i);
}
}
}
以上就是关于串口助手向keil发串口数据全部的内容,包括:串口助手向keil发串口数据、如何使用串口调试助手、STC ISP 的串口助手怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)