我想检查一下我的理解是否正确,但是我找不到任何精确的解释或例子。假设我将UART通信设置为57600位/秒,并且正在传输8位字符。假设我选择没有奇偶校验,因为我需要一个开始位和一个停止位,这意味着本质上,对于传输一个字符,我需要传输10位。这是否意味着传输速度将是5760个字符/秒?
发布于 2018-06-22 07:40:28
你的计算基本上是正确的。
但是5760个字符/秒是最大传输速率。因为它是一个异步链路,所以允许UART发射机在字符帧之间闲置线路。
IOW波特率只适用于字符帧的位。
字符的传输速率取决于是否有可用的数据来保持发射机的忙/饱和。
例如,如果微控制器使用程序化的I/O (带有轮询或中断)代替DMA进行UART传输,那么高优先级的中断可能会阻碍传输并在帧间引入延迟。
发布于 2018-06-22 08:09:31
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**https://stackoverflow.com/questions/50978448
复制相似问题