串口波特率允许误差多少,使用stc12的串口时波特率设为多少合适
来源:整理 编辑:亚灵电子网 2023-03-08 12:55:57
本文目录一览
1,使用stc12的串口时波特率设为多少合适
这个没用固定的标准,只要合适就好。一般来说,波特率越高数据传输速度越快,但过高的波特率可能导致通讯可靠性下降。一般9600和19200这两个波特率比较常用。
2,PC机的串口允许串口设备的波特率误差大概在什么范围
这个和串口硬件板卡有关的,有的是128000,有的是256000,要看你串口卡的说明。具体也可以用可以自定义波特率的串口类软件,如格西烽火软件等,设置波特率测试测试

3,串口波特率设置高低多少有什么区别
传输速度不同,单位是每秒几个bit,包含起头结尾等标示用bit。由於连线设备可能有限制速率,需要依照设备可支持的速率进行设置,以正常传输。不会有区别的,我想 你的rxd和txd是不是弄反了,你互换一下单片机出来的数据的rxd txd,再看看,听听楼下的建议吧,祝你早日解决。
4,串口波特率误差多少范围内可以正常接收
这个和串口硬件板卡有关的,有的是128000,有的是256000,要看你串口卡的说明。具体也可以用可以自定义波特率的串口类软件,如格西烽火软件等,设置波特率测试测试。
5,51单片机与pc通信波特率是2400倍增的可以准确的发送和收回数据
串行通信的波特率一般都取2400的整数倍。PC机上串口的波特率也是按这个取值的。如下图,这是超级终端的波特率取值。而对于单片机,需要串口通信时,晶振频率通常取11.0592MHz,或者2倍。取这个值的目的就是计算出的串口通信的波特率误差几乎为0。而取其它频率就有误差。同时,晶振取这个值,波特率也要取2400的整数倍,波特率误差才几乎为0。这两个值有一个不满足,实际的波特率都会有变误差。因为,串口通信是两者的异步通信,如果两者的波特率不相同,就无法正确通信的。这就是串口通信波特率不能任何取值的原因。
6,51单片机晶振选用12M串口通信波特率应该用多少合适TH1TL1
在你这个情况下,我可以负责的告诉你,12M的晶振波特率只能是2400,9600的情况下会有7.8%的误差,所以会产生乱码,而2400波特率的情况下误差是0.16%,这样就不会产生乱码了,TH1和TL1都设为F3,你再试试。希望能帮到你根据你的补充,我也补充一下:我前些天也在做单片机和LCD之间的通信,我的LCD是HMI,它也要设定波特率,我需要把我的单片机程序中TH1和TL1都设为F3,也就是2400的波特率,同时也要把我的LCD的波特率也设定为2400。由于我还没有做过串口打印的实验,所以对这个不是很清楚,但是你要知道通信双方的波特率必须一致,你可以参考一下我的这个例子,祝你成功!
7,关于51单片机波特率设置为什么我设置4800就能行设置9600就
你这是单片机开发板吧,看一下晶振频率是多少,应该是12MHz的。看你的串口初始化程序中,TH1=0xf3,波特率是4800,这晶振频率就是12MHz的。当取波特率为4800时,计算出的TH1=0xf3,误差很小,所以,实际的波特率也是4800。但是,当波特率取9600时,计算TH1=256-6.5,肯定取整数6,舍掉了0.5,TH1=250=0xfa,这样,实际的波特率却是10416,与9600的误差816,这么大的误差,串口接收和发送肯定是错误的。这就是设置9600不行的原因。所以,为了保证串口收发的正确性,晶振频率取11.0592MHz才行。那个 12mhz的晶振是用来驱动 usb2302的,跟你的单片机没有一点关系,你把那个usb2302和12mhz晶振看做是一体的,看做是电脑上的串口就行了,与你的单片机没有关系.\现在的电脑已经很少有串口了,尤其是笔记本,更是没有串口,所以通常我们会买usb转串口来做开发.我们买的usb转串口,里面用的是pl2303作的转换,而pl2303需要一个12mhz的晶振,现在你明白了吗?那个usb2302和12mhz晶振就相当于一个usb转串口,只不过是做到板子上了,不用你另外买,这是开发板厂家考虑到现在电脑没有串口,因此给你的电脑增加了个串口而已.所以,那个12mhz晶振与你的单片机没有丝毫的关系,你用11.0592就行了.
文章TAG:
串口串口波特率允许误差多少 使用stc12的串口时波特率设为多少合适