标题:
波特率是9600的时候,串口显示软件,输出乱码,请教。
[打印本页]
作者:
csz9981
时间:
2017-3-1 19:03
标题:
波特率是9600的时候,串口显示软件,输出乱码,请教。
void UsartConfiguration()
{
SCON=0X50; //设置为工作方式1
TMOD=0X20; //设置计数器工作方式2
PCON=0X80; //波特率加倍
TH1=0XF3; //计数器初始值设置,注意波特率是4800的
TL1=0XF3;
ES=1; //打开接收中断
EA=1; //打开总中断
TR1=1; //打开计数器
}
TH1=0XF3; //计数器初始值设置,注意波特率是4800的
TL1=0XF3;
波特率是4800的时候,串口显示软件,输出正常。
TH1=0XF9; //计数器初始值设置,注意波特率是9600的
TL1=0XF9;
波特率是9600的时候,串口显示软件,输出乱码。
作者:
ning
时间:
2017-3-1 20:56
注意晶振的频率!
作者:
csz9981
时间:
2017-3-1 22:46
ning 发表于 2017-3-1 20:56
注意晶振的频率!
89c52接的晶振是12MHZ。
作者:
csz9981
时间:
2017-3-1 22:47
ning 发表于 2017-3-1 20:56
注意晶振的频率!
定时器1赋初值也没问题呀!
作者:
ning
时间:
2017-3-2 09:03
12MHZ是存在一定的误差的!换成11.0592试试!
作者:
csz9981
时间:
2017-3-2 21:47
ning 发表于 2017-3-2 09:03
12MHZ是存在一定的误差的!换成11.0592试试!
回头试试
作者:
baofu
时间:
2017-3-3 10:20
据我的经验,波特率误差必须小于3%才能可靠地进行通讯,超过后就难以保证了。
作者:
yzwzfyz
时间:
2017-3-4 02:12
通讯的双方都要改。
作者:
zl2168
时间:
2017-3-4 07:49
串口通讯应该用11.0592,12MHz会产生波特率误差,但一次传输字节不多时不至于输出乱码,楼主程序可能还有其他问题。
作者:
1443509763
时间:
2017-3-4 14:21
晶振是11.0592吗?
作者:
xuexi108
时间:
2017-3-4 20:40
串口显示软件是否对应设置为9600.
作者:
pdsyonghong
时间:
2017-3-5 11:23
4800时是正常的?如果正常应该就是晶振,可以选个误差比较小的速率。
作者:
peijg1984
时间:
2017-3-5 14:47
1、串口显示软件的波特率没有匹配;2、下位机波特率配置的并不是9600
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1