1,串口波特率设置高低多少有什么区别

波特率 越高,传输距离 越短

串口波特率设置高低多少有什么区别

2,请教串口波特率误差多少范围内可以正常接收

一般大于2% 就接收不完整了

请教串口波特率误差多少范围内可以正常接收

3,使用stc12的串口时波特率设为多少合适

这个没用固定的标准,只要合适就好。一般来说,波特率越高数据传输速度越快,但过高的波特率可能导致通讯可靠性下降。一般9600和19200这两个波特率比较常用。

使用stc12的串口时波特率设为多少合适

4,串口波特率误差多少范围内可以正常接收

这个和串口硬件板卡有关的,有的是128000,有的是256000,要看你串口卡的说明。具体也可以用可以自定义波特率的串口类软件,如格西烽火软件等,设置波特率测试测试。

5,异步串口通信中收发双方波特率差异允许的范围是多少

国际规定波特率的一个标准系列,110 、 300 、 600 、 1200 、 1800 、 2400 、4800 、 9600 、 14.4Kbps 、 19.2Kbps 、 28.8Kbps 、 33.6Kbps 、 56Kbps .  波特率是由时钟分频得来的。  同步通信的时钟和波特率相同。  异步通信的时钟=波特率*N,N为波特率因子。
误差 大的话,会 通信失败再看看别人怎么说的。

6,异步串口通信中收发双方波特率差异允许的范围是多少

  国际规定波特率的一个标准系列,110 、 300 、 600 、 1200 、 1800 、 2400 、4800 、 9600 、 14.4Kbps 、 19.2Kbps 、 28.8Kbps 、 33.6Kbps 、 56Kbps .  波特率是由时钟分频得来的。  同步通信的时钟和波特率相同。  异步通信的时钟=波特率*N,N为波特率因子。

7,波特率设置与串口的问题急急急

如果2400就可以,按2400方法设置9600就可以了,设置方法就错不了了,除非你把9600对应的寄存器值算错了。另外要考虑,线的长短?线长超过一定距离,线间电容比较大,影响正负电平的上升和下降时间,导致误码率增高,降低速率可以增加通信距离。附近有没有干扰源?干扰也会导致速率高的,误码率高。
当然是控制波特率了,如果是有专门的硬件,有的可以直接设置波特率,有的设置计数器,也就是指多少个脉冲发送一个比特,这个数值需要根据你的时钟频率计算得到,时钟频率是硬件设计时决定的,你是无法更改的,可以编程的是这个计数器,可以设置一个值,这个计数器会根据时钟脉冲进行减1运算,达到0时,会发出一个信号,并自动回复到原来的设置值,这个脉冲信号就可以控制发送一个bit。

8,求问串口通信为什么只能2400调到0xfc的9600波特率就不行了

你这是用单片机做的串口通信吗?那晶振频率是多少?什么单片机?0xfc 是时间常数吗?如果是51单片机,晶振频率是11.0592M,9600波特率的时间常数是0xFD.
12m晶振不能输出9600的波特率;12m晶振只能输出1200的波特率,有少量误差,不过不影响使用。#include#include void uart0_transmit(unsigned char i) //向串口发送一个字节 { es=0; ti=0; sbuf=i; // 发送数据到uart0 while (!ti); / 等待发送1个字节数据完成 ti=0 ; // 清除中断标志 es=1; } void delay_ms() { int i,j; for(i=1000;i>0;i--) { for(j=25;j>0;j--) {;} } } void sysinit(void) { pcon |=0x80; scon=0x50; tmod=0x21; th1=204; tl1=204; tr1=1; es=0; th0=0xb8; tl0=0x00; tr0=1; et0=1; } void main (void) { sysinit(); while (1) } uart0_transmit(0x55); delay_ms; } } //应该可以了,你稍微调试一下。刚写的

9,为什么我设置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就行了.

10,51单片机串口通讯波特率问题

那个 12MHz的晶振是用来驱动 USB2302的,跟你的单片机没有一点关系,你把那个USB2302和12MHz晶振看做是一体的,看做是电脑上的串口就行了,与你的单片机没有关系.现在的电脑已经很少有串口了,尤其是笔记本,更是没有串口,所以通常我们会买USB转串口来做开发. 我们买的USB转串口,里面用的是PL2303作的转换,而PL2303需要一个12MHz的晶振,现在你明白了吗?那个USB2302和12MHZ晶振就相当于一个USB转串口,只不过是做到板子上了,不用你另外买,这是开发板厂家考虑到现在电脑没有串口,因此给你的电脑增加了个串口而已. 所以,那个12MHZ晶振与你的单片机没有丝毫的关系,你用11.0592就行了.
既然是要跟单片机通讯,那当然是要用11.0592MHz的 在网上随便找个 “51波特率初值设定软件” 就能用了
USB转串口上的晶振12MHz,对波特率的准确度有一定影响。但是,单片机通讯的波特率设置,还是得采用与单片机相连的11.0582MHz晶振进行计算。 11.0592MHz设置的的大部分波特率理论误差为零,但是,串口转USB会有为了减小误码率,可按照12MHz晶振波特率设置表中计算的理论误差,选择误差较小的波特率试试。一般来说,波特率较低的,误差也较小。
肯定是单片机相连的晶振。 12M和单片机的波特率无关。

文章TAG:串口波特率误差多少没影响串口  波特  波特率  
下一篇