什么是波特率,波特率怎么计算[通俗易懂]

什么是波特率,波特率怎么计算[通俗易懂]✍什么是波特率,波特率怎么计算➹概述:  ☆简而言之,串口传输的波特率即为每秒钟传输二进制的位数。  ☆脱离枯燥乏味的文字描述,我们用波形和数字来看看波特率是什么吧☟。  ☆说明:系统时钟50M,波特率115200。  基础知识:因果系统时钟-50M时钟周期150∗106{{\rm{1}}\over{{\rm{50*1}}{{\rm{0}}^{\rm{6}}}}}50∗1061​假设1个时钟周期可以计数1次(其实FPGA就是这样)50M时钟1s计数5000

大家好,又见面了,我是你们的朋友全栈君。

✍ 什么是波特率,波特率怎么计算➹

更多硬件知识,请持续关注公众号【数字硬鉴】

概述:
  ☆简而言之,串口传输的波特率即为每秒钟传输二进制的位数。
  ☆脱离枯燥乏味的文字描述,我们用波形和数字来看看波特率是什么吧☟。
  ☆说明:系统时钟50M(为串口提供时钟的时钟频率),波特率115200。
  
基础知识:

系统时钟(为串口提供时钟的时钟频率)-50M 时钟周期 1 50 ∗ 1 0 6 {
{\rm{1}} \over {
{\rm{50*1}}{
{\rm{0}}^{\rm{6}}}}}
501061
1个时钟周期可以计数1次 50M时钟1s计数50 000 000个
系统时钟-50M 计1个数需要 1 50 ∗ 1 0 6 {
{\rm{1}} \over {
{\rm{50*1}}{
{\rm{0}}^{\rm{6}}}}}
501061
s
波特率-115200 1s传输二进制的位数115200bit
波特率-115200 传输1bit需要 1/115200s=8.68us
50M系统时钟——波特率为115200 传输1bit需要计数 ( 50 ∗ 1 0 6 / 115200 ) = 434 ({\rm{50*1}}{
{\rm{0}}^{\rm{6}}}/{\rm{115200}}) = 434
(50106/115200)=434

以上重点是推导出50M系统时钟—波特率为115200条件下传输1bit需要计数个数为434。

串口传输格式
●我们通常用的串口传输格式为:1bit起始位+8bit数据位+1bit停止位(无奇偶校验位),如下图所示:
在这里插入图片描述
所以传输1Byte数据串口需要传输10bit数据。上面计算得传输1Bit需要的时间为8.68us,则传输1Byte需要时间为8.68*10=86.8us。

波特率
  由基础知识知50M系统时钟—波特率为115200条件下传输1bit需要计数个数为434。那么1Byte(串口传输格式为:1bit起始位+8bit数据位+1bit停止位)是不是循环计数10次434就可以传输完毕。
直接上图:图中描述了1Byte数据传输的示意图,重点都在图里!!!。
在这里插入图片描述
✍什么时候去采样串口线上的数据呢?
  ★观察上图,Buad_Flag信号(通道2)表示了传输1Bit传输的间隔,每遇到1个Buad_Flag=1的信号,数据线上切换1次数据,所以两个Buad_Flag=1之间的数据是稳定的数据,根据抽样定理是不是应该在两个Buad_Flag=1信号的中间去采样数据呢,其实就是在1bit数据持续期间的中间点采样,才能得到最稳定的数据。见下图,重点都在图里!!!
  在这里插入图片描述
  ★图中序号①-⑩分别为10bit数据的采样点,采样点处提取数据为0101_0101(0x55),低位在前。

★★★至此,从下往上再看一遍,就明白了我们所熟悉的波特率(115200/9600/…)怎么来的。
☞然后再想想为什么51单片机会有一个定时器专门服务于串口。
☞再想想为什么9600波特率和115200波特率不能对接了,原理很简单我这边2秒发一次数据,你那边1秒接一次数据,怎么能成功接收呢。

收发波特率一致:
在这里插入图片描述
收发波特率不一致,导致RX端不能正常接收:
在这里插入图片描述

★★★如有错误,欢迎指导。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124695.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月20日 上午9:40
下一篇 2022年4月20日 上午10:00


相关推荐

  • PIC单片机的入门认识(以PIC12为学习目标)

    PIC单片机的入门认识(以PIC12为学习目标)1 学习 PIC12 针脚定义针脚 1 及针脚 8 可接电源 5V 和地线 针脚 2 3 可外接晶振 针脚 4 为复位脚 当单片机正常运行时接高电平 若有一个低电平输入 单片机便复位 针脚 5 则为单片机的 I O 脚 可控制它为输入或输出 输入 0 输入 1 输出 0 输出 1 0 即为低电平 1 即为高电平 针脚 6 7 也可设置输入输出 可以控制继电器 LED 灯 A D 转换器 连接喇叭输出音乐等 2 单片机的寄存器寄存器又称 RAM 单片机的大部分工作在写入或读出寄存器 寄存器是一个能存储 8 位二进制的数据的单元 而每

    2026年3月19日
    3
  • 用计算机最炫民族风乐谱,最炫民族风乐谱及歌词[通俗易懂]

    用计算机最炫民族风乐谱,最炫民族风乐谱及歌词[通俗易懂]最炫民族风乐谱及歌词《最炫民族风》是凤凰传奇演唱的一首流行歌曲,由张超作词和谱曲,发行于2009年5月27日,是其第三张专辑《最炫民族风》的主打歌。下面由百分网小编为大家介绍《最炫民族风》乐谱,希望能帮到你。《最炫民族风》乐谱【图片来源:中国曲谱网】《最炫民族风》歌词苍茫的天涯是我的爱绵绵的青山脚下花正开什么样的节奏是最呀最摇摆什么样的歌声才是最开怀弯弯的河水从天上来流向那万紫千红一片海火辣辣的歌…

    2026年2月17日
    4
  • 数据库对象有哪些

    数据库对象有哪些数据库对象简述数据库的主要组成部分就是数据库对象 而数据库中的一行数据 称为一条记录 纵列被称为字段 数据库记录 代表有一定意义的组合信息 而缺省值是说在数据库表中插入数据或创建列时 有些列或者列的数据没有予以设定具体数值 那么就会直接以预先设置的内容赋值 数据库对象就是数据库的组成部分 主要的数据库对象包含 触发器 Trigger 表 Table 视图 View 存储过程 Stored

    2026年3月16日
    2
  • java把string转int类型_java把String类型转换为int类型的方法

    java把string转int类型_java把String类型转换为int类型的方法java把String类型转换为int类型的方法发布时间:2020-08-2014:32:03来源:亿速云阅读:73作者:小新这篇文章将为大家详细讲解有关java把String类型转换为int类型的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在java中,实现String类型转换为int类型的方法有:Integer.parseInt(String)方法、…

    2025年7月9日
    5
  • 怎么从安卓设备转移数据到苹果_如何从安卓设备将数据转移到 iPhone 12?「建议收藏」

    怎么从安卓设备转移数据到苹果_如何从安卓设备将数据转移到 iPhone 12?「建议收藏」如果之前是安卓用户,在购买iPhone12新款手机之后,如何从安卓转移数据到iOS?可以通过苹果官方提供的“转移到iOS”应用,将安卓手机中的内容进行转移。可转移的内容包括:通讯录、信息历史记录、相机照片和视频、Web书签、邮件帐户和日历。转移完成之后,您可以从AppStore下载任何匹配的免费App。使用前准备事项:1.通过苹果官网下载“转移到iOS”应用,并在安卓手机中进…

    2026年1月20日
    5
  • vue ajax 上传,vue中用ajax上传文件

    vue ajax 上传,vue中用ajax上传文件直接上代码 uploadCompan function event this file event target files letformdata newFormData formdata append file this file 0 formdata append submit false ajax url api url Excel import

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号