我用STC12C5A60S2 实现单片机串口通信,给电脑发数据,在电脑上用串口调试助手查看,数据总是出错?

#define fosc 18432000L //时钟频率常量
#define band 9600 //波特率常量
void uart_init()
{
ES=0;
TMOD=0x20; //定时器1为方式2
TL1=-(fosc/12/32/band);
TH1=-(fosc/12/32/band); //设定波特率为9600
//TL1=0xfd;
//TH1=0xfd;
SCON=0x52; //sm0,sm1,sm2,ren,tb,rb8,ti,ri
PCON&=0x7f; //smod=0,波特率不翻倍
TR1=1; //启动定时器1
}
void main()
{
uchar i=0;
uart_init();
while(1)
{
uart_send(i++);
delayxms(2000);
}

}
显示数据:
00 03 0C 0F 18 1B 1C 。。。。。

你一次多发几个试试,看后面是不是不会错,我也遇到过这样的问题,但一次发很多数据,后面的数据就没有错了
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-09
波特率等是否匹配?
可使用STCISP内置的助手查看。

STC12C5A60S2用过不少了,都是正常RS232通信的。:)

stc12c5a60s2 双串口传输漏字符
您好,ASCII码在单片机中也是用16进制来表示的,只是解码后显示的是字符,你要是随便发一个字符,串口调试助手选择字符显示接收就可以显示一个字符出来(可能我们不认识这个字符)。发送一个字符串就是不停的发送直到发送完毕,51单片机有自己的串行发送端口P3.0和P3.1端口,但是它是一个字节一个字节发...

单片机stc12c5a60s2 想要用串口助手来控制led亮灭,其中led由P0口控制...
这里有一个关键问题,用串口助手发送数据时,是发送十六进制数(也是二进制数)?还是字符?看你的程序应该是发送十六进制数。还有,串口助手的波特率是否为9600?串口初始化程序要写一行,如下,原写法初始有误。还有,串口接收后,不要返回,删掉SBUF=0X00;这没有什么用,但串口还要发送,又没while语句等...

求各位谁有STC12C5A60S2单片机第二串口的程序
void UartInit(void)\/\/4800bps@11.0592MHz { AUXR &= 0xf7;\/\/波特率不倍速 S2CON = 0x50;\/\/8位数据,可变波特率 BRT = 0xB8;\/\/设定独立波特率发生器重装值 AUXR |= 0x04;\/\/独立波特率发生器时钟为Fosc,即1T AUXR |= 0x10;\/\/启动独立波特率发生器 } 串口2查询方式函数,注意不要开中断...

stc12c5a60s2型号单片机串口通信和定时器中断问题
按照你的说法,串口1接第一次收到数据后启动定时器开始计时,并把每次接收的数据放在一个临时的缓存里,当定时器时间到的时候开始串口2的发送程序。个人感觉给串口1的数据里定义一个起始位和结束位更好,这样就不用定时器了

stc12c5a60s2单片机能实现在线调试吗?
STC的单片机在编程下载后能通过keil软件查看里面的寄存器和变量的变化吗?也就是能实现在线调试的。有没有这样的连接器或是电路啊?这个真没有!STC就没给这个接口。不过不要紧,可以借助串口助手,也还算方便。

51单片机程序问题 stc12c5a60s2 的a\/d转换问题..
3.既然send函数提到了SBUF,那么说明转换结果是通过串口传到电脑上,用STC下载工具的串口调试应该可以看到转换结果。4.连续读取可以用函数循环或定时器循环来调用转换函数。例子嘛,定时器我还不会用而你给的值定时器中断法。所以我说下函数的方法,大概是这样:void main{ InitADC();\/\/初始化ADC while...

STC 12C5A60S2 ISP下载问题 急!
你电源没问题,芯片也没问题,那么就这两个下载口是不是没有焊接好,我也刚做了块板,刚开始也是不能下载,后来很汗颜的发现是ISP没有选好对应的STC型号 对了,以前我弄板子的时候也几次卡在“上电”没反应的问题上,是COM口不知道这么变了,建议还是打开设备管理看看端口问题,再确认下也好 ...

STC12C5A60S2使用双串口进行通信时,两个串口在发送数据时都没有问题...
这是可能的,如果接收速度慢了的话,发送方速度较快,两个数据发送间隔较小,那么可能丢失数据

51单片机串口通讯总是发送00
没有用过 STC12C5A60S2 这款单片机,但是从你接收的情况看,你重点检查:1、串口助手的波特率和单片机设置的是否一致?2、单片机程序串口波特率和晶振计算的是否准确?3、串口助手,是不是16进制接收的?4、给你一个串口调试软件,你用它试试看吧 ...

求教STC 12C5A60S2和89C51单片机方面的问题
不行,两种单片机的程序下载方式不同,89C51需要12电压烧录程序,stc是在线ISP方式,用最小系统通过串口就可以下载应用程序。89C51可以自制简单的下载器“ep51编程器”下载应用程序,但板上需要有另一片单片机装载了“e51pro.hex监控程序”后才能控制89C51单片机的下载。

相似回答
大家正在搜