串口的波特率对数据的读取有什么影响? - 知乎

1、串口的波特率代表数据传输的速率,速率越高,传递同样的数据需要的时间越短。

9600bps的波特率相比于115200bps的波特率,可以产生肉眼可见的速度差异,以9600的速率往串口助手发送文字内容,可以看到文字逐渐的出现,115200的速率,则基本上是一瞬间完成一整个屏幕的打印。

如果不是屏幕显示,而是2个单片机之间直接通信进行处理,则会影响到数据传输的速率,影响整个程序的运行时长。

2、串口的波特率越高,越容易被干扰,产生误码。

对于TTL的UART,即由单片机直接产生的串口,电平一般是1.8V/3.3V/5V,这种信号无法传输很远,如果超过20cm,并且用线束而不是PCB的走线传输,非常容易受到干扰产生错误。

RS232、RS485、RS422则是针对这种情况出现的远距离物理层协议,可以将低电压电平的UART转换为高电压或差分电压的信号进行传输。从而保证在较高波特率下,串口也可以快速的无误码的传输。

3、串口的波特率,如果提高到几十MHz,会大幅提高单片机和外围电平转换电路的成本。

STM32F407的UART,波特率最高为10.5Mbit/s;

常见的TTL转RS232的芯片,MAX232,最高速率仅0.12Mbit/s。

如果想要让串口的波特率提高到超过10M并且还保持高速率,芯片本身和外围电路都会很贵。

一般这种有高速率的需求时,都会直接更改硬件方案,如果是板内则使用SPI或Serdes等形式,如果是板外则使用USB或以太网协议。


原网址: 访问
创建于: 2023-09-11 09:32:18
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论