标题:
STC12C5A60S2单片机波特率38400通讯乱码
[打印本页]
作者:
jeffphoon
时间:
2020-2-11 09:46
标题:
STC12C5A60S2单片机波特率38400通讯乱码
本帖最后由 jeffphoon 于 2020-2-11 09:59 编辑
我写了一个程序,在9600通讯正常,但是38400时候就乱码。
//-----------------------------------------------------------------------------
//串口1
正常
9600bps@11.0592MHz
SCON = 0x50;
TMOD = 0x20;
TH1 = 0xFD;
TL1 = TH1;
TR1 = 1;
EA =1;
ES =1;
//串口2
正常
9600bps@11.0592MHz
S2CON = 0x50;
BRT = 0xFD;
AUXR = 0x10;
IE2 =0x01;
//---------------------------------------------------------------------------------
当我换成
//串口1
乱码
38400bps@11.0592MHz
PCON &= 0x7F;
SCON = 0x50;
AUXR |= 0x04;
BRT = 0xF7;
AUXR |= 0x01;
AUXR |= 0x10;
ES=1;
EA=1;
//串口2
正常
9600bps@11.0592MHz
AUXR &= 0xF7;
S2CON = 0x50;
AUXR &= 0xFB;
BRT = 0xFD;
AUXR |= 0x10;
IE2 =0x01;
//---------------------------------------------------------------------------------
请问如何能解决这个问题?
作者:
wulin
时间:
2020-2-11 16:27
无标题.jpg
(221.69 KB, 下载次数: 85)
下载附件
2020-2-11 16:27 上传
作者:
csmyldl
时间:
2020-2-11 17:23
不是波特率设置的问题,是发送或接收程序的问题,把波特率设置程序晒出来无法解决问题
作者:
jeffphoon
时间:
2020-2-12 08:38
谢谢大家的回复,我找到了可用的代码了。
如下:
//串口1
38400bps@11.0592MHz
PCON &= 0x7F;
SCON = 0x50;
AUXR |= 0x40;
AUXR &= 0xFE;
TMOD &= 0x0F;
TMOD |= 0x20;
TL1 = 0xF7;
TH1 = 0xF7;
ET1 = 0;
TR1 = 1;
ES=1;
EA=1;
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1