UART传输速度



我想检查我的理解是否正确,但是我找不到任何精确的解释或示例。假设我将UART通信设置为57600位/秒,并且正在传输8位字符。假设我选择没有奇偶校验,因为我需要一个起始位和一个停止位,这意味着基本上要传输一个字符,我需要传输 10 位。这是否意味着传输速度为 5760 个字符/秒?

你的计算基本上是正确的。
但 5760 个字符/秒将是最大传输速率。 由于它是异步链路,因此允许UART发射器空闲字符帧之间的行。

IOW 波特率仅适用于字符帧的位。
字符传输速率取决于是否有数据可用于保持发射器繁忙/饱和。
例如,如果微控制器使用编程的I/O(轮询或中断(而不是DMA进行UART传输,则高优先级中断可能会使传输停止并在帧之间引入延迟。

Baudrate                     = 57600
Time for 1 Bit: 1 / 57600    = 17,36 us
Time for a frame with 10 Bit = 173,6 us
this means max. 1 / 1736 us  = 5760 frames(characters) / s**

最新更新