我想检查一下我的理解是否正确,但是我找不到确切的解释或例子。假设我将UART通信设置为57600位/秒,并且正在传输8位字符。假设我选择没有奇偶校验,并且由于我需要一个起始位和一个停止位,这意味着从本质上讲,为了传输一个字符,我将需要传输10位。这是否意味着传输速度将为5760字符/秒?
答案 0 :(得分:1)
您的计算本质上是正确的。
但是5760字符/秒将是最大传输速率。由于它是异步链接,因此允许UART发送器空闲字符帧之间的线。
IOW波特率仅适用于字符帧的位。
字符的传输速率取决于是否有可用的数据来保持发射机忙/饱和。
例如,如果微控制器使用编程的I / O(带有轮询或中断)而不是DMA进行UART传输,则高优先级的中断可能会使传输停顿并在帧之间引入延迟。
答案 1 :(得分:0)
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**