为什么我用protues模拟串口通信时波特率设置为1200时正常设置为9600时就出错了

我的串口初始化函数:
void translate_init()//串口初始化
{
IE=0x00;
EA=1;
ES=1;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SCON=0x50;
}

这和 单片机系统频率 有关,如 12 M 晶振, 波特率9600, TH1=TL1=0xfd 的误差率 为 8.51%
误差率 越大 就越容易 出错。
温馨提示:内容为网友见解,仅供参考
无其他回答

为什么我用protues模拟串口通信时波特率设置为1200时正常设置为9600时就...
这和 单片机系统频率 有关,如 12 M 晶振, 波特率9600, TH1=TL1=0xfd 的误差率 为 8.51 误差率 越大 就越容易 出错。

现在我的代码,在拨特率9600的时候,发送800个字节一切正常,可是把拨特率...
有时 通信 2 端 虽然设置同样的 波特率,但由于存在误差,特别是 象 单片机 一类的串口 可能出现 一些通信问题 不知道 你的 线路 2端 是些 什么情况

为什么单片机在做串口通信时,需要把波特率设置为9600?
是因为串口波特率高了, 误码率本来就会增大,但低了,就会速度降低,所以要选一个比较合适的啊,,就是正因为9600的比较合适啊

USB 转串口 波特率 设置高和低 都可以啊 STC单片机串口下载程序时 单 ...
不过不能太高也不能太低,波特率太高不支持(会卡死),太低更不能。推荐9600够用了。你用软件下载程序的时候看准有一个波特率设置的选项的.另外可以通过命令查看串口波特率:右键我的电脑--管理--设备管理器--(右边框)端口。查看我们用的是哪个通信端口,右键看其属性,有个端口设置,里面就有你...

串口通信 出现乱码
串口通讯不正常,我的分析如下:一、能正常的自收自发,只能说明自身的收和发设置正确,需要检查ARM2103的设置和电脑的是否相同。同意4楼的说法,看看校验位,数据位数是否都对应上了。二、波特率需要用示波器测试一下,发送一个0x55,看看,一bit用的时间,计算一下,看看波特率到底对不对。自收自发,...

如何为串口通讯增加新的波特率
value 的缺省值是: "9600,N,8,1" 下表列出合法的波特率: 设置值 110 300 600 1200 2400 9600(缺省) 14400 19200 28800 38400 56000 128000 256000 stm32串口 波特率如何在线更改 先关闭串口,修改好后开启;正在通信时不可以修改。用个函数,使用固件库 void USART_...

电脑串口波特率修改 不管在端口设置中怎样改 在dos下 的波特率都是1200...
用mode命令,例如 mode com1 baud=9600 parity=n data=8 stop=1 将串口1设置为n,8,1,9600bps,具体命令使用方法mode\/?查看

串口波特率为9600,那1S理论上能传几个我想发送的数据?
串口波特率为9600,那1S理论上能传几个我想发送的数据? 这个问题困扰我很久了,总是似懂非懂。晚上突然觉得问题要完全搞懂才能进步,所以请教大神们是不是该这样算:每秒传输字节数=9600\/8=1200字节。同步模式:一次性传输,同步字符(1~2个... 这个问题困扰我很久了,总是似懂非懂。晚上突然觉得问题要完全搞懂才能...

51单片机,晶振选用12M,串口通信波特率应该用多少合适,TH1,TL1初值为多 ...
我的LCD是HMI,它也要设定波特率,我需要把我的单片机程序中TH1和TL1都设为F3,也就是2400的波特率,同时也要把我的LCD的波特率也设定为2400。由于我还没有做过串口打印的实验,所以对这个不是很清楚,但是你要知道通信双方的波特率必须一致,你可以参考一下我的这个例子,祝你成功!

设置串口1波特率
波特率为4800bps。3FBH 线路控制寄存器地址,设置成0x80,具体意思看此寄存器具体表示方式。3F9H中断允许寄存器 设置成00 意思应该是允许中断。我不清楚你上面的寄存器每一位表示的含义,其实寄存器设置就是将16进制的数据转化成二进制,然后看每一位的具体意思,比如上面你说的D7为1就是表示选择除数锁存...

相似回答