首页 > 编程知识 正文

波特率计算公式及含义(什么是波特率,波特率怎么计算)

时间:2023-05-04 05:48:18 阅读:121737 作者:1360

波特率是什么? 波特率如何达到概述:

简单来说,串行传输的波特率是每秒钟传输二进制数的位数。

离开无聊的文字说明,用波形和数字来看看波特率是什么。

说明:系统时钟50M (向串行端口提供时钟的时钟频率)、波特率115200。

基础知识:

因果时钟(向串行端口提供时钟的时钟频率(-50M时钟周期150106({RM{1}}over ) {RM { 50 *1} } {RM {0} } ^ {} { } 000系统时钟-要计数50m共1个,请执行150,10,6 {RM {4} }over { RM {5} {6} {7} RM {8} {9} { 10 } { 10 } { 10 } {6} } 501061 s波特率--1152001s传输二进制文件的位数115200位波特率115200s=8.68us50M系统时钟------波特率115200传输1位必须计数(RM { 50 *1} { {RM {0} } ^ {RM {6} }/{6 } )

串口传输格式

如下图所示,通常使用的串行传输格式为1位开始位8bit数据位1位停止位(无奇偶校验位)。

因此,传输1字节数据的串行端口必须传输10位数据。 上面计算的传输1位所需的时间为8.68us,传输1字节所需的时间为8.68*10=86.8us。

波特率

基础知识表明,在50M系统时钟—波特率为115200的条件下传输1位所需的计数为434。 那么,1字节)串行传输格式是1位开始位8bit数据位1位停止位)还是循环计数10次,434传输不是就完成了吗?

上图:照片描绘了1字节数据传输的图像。 重要的是图。什么时候去采样串口线上的数据呢?

参见上面的附图,Buad_Flag信号(信道2 )代表传输1比特的间隔,其中每遇到一个Buad_Flag=1的信号,数据就会被切换到一个数据线,因此两个Buad_Flag=1 重点都在图上!

图中的编号-分别为10位数据的采样点,采样点的提取数据为0101_0101(0x55 ),低位为高位。

到此为止,从下面再看一遍,就知道我们熟悉的波特率(115200/9600/…)是怎么来的了。

然后,想想为什么51单片机有专门用于串行端口的计时器。

想想为什么9600波特率和115200波特率不能对接了。 原理很简单。 我们每2秒发送一次数据。 你们每秒接收一次数据,怎么能接收成功?

波特率匹配:

由于收发波特率不一致,RX侧无法正常接收:

如果有错误,欢迎指导。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。