51单片机向串口发送字符串,输出的最终结果中有丢失数据的现象
发布网友
发布时间:2024-10-08 01:24
我来回答
共6个回答
热心网友
时间:2024-11-28 15:54
好像就是一个串口通信的功能,怎么还能写的这么热闹?
另外,在主函数void main()里面,缺少循环,程序就跑飞了。
热心网友
时间:2024-11-28 15:54
赞成楼上各位的说法
主函数改成如下试试
void main()
{
UartSendString("\nBeijing of China is a big city ,2010/08/07..\r\n");
while(1);
}
热心网友
时间:2024-11-28 15:55
你写的太复杂了 你的思路根本不对 我给你一个我写的程序你看看
完全可以完成你的任务
注意是逐字节发的
另外 我是12M晶振 用的是2400波特率 你自己根据硬件情况改吧 最好用11.0592的
#include <AT89X52.H>
#define uint unsigned int
#define uchar unsigned char
uchar flag,a,;
void init()
{
TMOD=0x20;
TH1=0xf3;
TL1=0xf3;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
}
void main()
{
init();
while(1)
{
if(flag==1)
{
ES=0;
flag=0;
SBUF=a;
while(!TI);
TI=0;
ES=1;
}
}
}
void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}
热心网友
时间:2024-11-28 15:55
我用PIC的时候也出现过这种问题,后来在发送字节之间加个延时就可以了!
热心网友
时间:2024-11-28 15:56
写得真复杂,我将数字,字符串发送分开写的程序加起来也没你这复杂
热心网友
时间:2024-11-28 15:57
我也有过类似的问题
51单片机向串口发送字符串,输出的最终结果中有丢失数据的现象
另外,在主函数void main()里面,缺少循环,程序就跑飞了。
51单片机串口通信上位机接收数据丢失,怎么解决
数据丢失多半是因为中断造成的,当串口通讯时,系统被其他中断占用了,那么就会出现数据丢失的情况,所以为了保险,可以采取以下措施:1、将串口中断优先级设为最高。2、增加反馈信号,DTR和DSR两个信号可以用起来。
关于51单片机串口输出的问题输出数组混乱,求高手回答。
你的字符串“0030”虽然是4个字节,但是还需要0x00来充当字符串结束标志,所以需要5字节的空间。你的SendString_2函数的确是检查到0x00就停止输出,但是table1和table3是连续存储的,所以函数输出完table1的内容后没有检查到0x00就继续输出table3,这时候检查到0x00才停下。
51单片机串口通信收到乱码
单片机发送的是ASCII码,所以,串口助手接收时,要显示字符型,即十六进制显示的选项不要打勾。
51单片机串行口通信数据丢失问题
中断服务程序占用时间太长,将网EEPROM写的程序放在外边,另外,需要开辟一个接收缓冲区,否则有可能丢失数据,用串口助手是没有握手的,所以PC没有多长时间的等待,你来不及接收就丢失了。
单片机串口通信数据丢失原因
回答:利用按键通过串口向上发送对应命令,收到上面发下来的数据在LCD上显示。第一次按按键串口发送的指令正确且能把数据正确的显示出来,在第二次按按键串口发送的指令出现丢失的状况,故没有数据传下来。按第三次,发送的指令又正常且能把数据正确的显示出来。请问我串口哪里出现问题,或者是不是那个地方需要...
51单片机串口通信收到乱码
若是收正确,送有问题;可以查下TXD这PIN的线路是否存在错误。若是有收到,但资料不正确;查下TH1,TL1的值是否正确。光看1、2、3的传送,应该没有错!还可以先送单个资料如1,看单笔传送是否正确。若是单个正确,那就是冲突问题了!
51单片机和计算机串口通信,不断收到乱码如何解决?
如果收到乱码很频繁,应该是波特率误差太大所致,这有两方面原因。1、单片机和电脑设置的波特率不一致。2、晶振性能较差,其频率很不稳定,导致波特率误差过大。
51单片机串口通信当一次发送的数据超过一定数量时,老是丢包,是怎么回事...
寄存器使用的时候发生冲突吧,我做的时候都不会这样的,发送多少数据都正常发送。我用的是定时器控制串口的。
我用的51单片机,想要使用串口发送数据,可是我用串口助手调试的时候发现...
串口发送数据子程序和串口初始化子程序有错。TR1=1; 才启动T1控制波特率。你采用查询方式发送,串口就不要开中断,ES=1; 应删掉。修改后的程序如下。