波特率(Baud Rate) 单位 bps -- 每秒传送的字节数 Byte Per Second.。

(BaudRate) 模拟线路信号的速率,也称调制速率,以波形每秒的振荡数来衡量。如果数据不压缩,波特率等于每秒钟传输的数据位数,如果数据进行了压缩,那么每秒钟传输的数据位数通常大于调制速率,使得交换使用波特和比特/秒偶尔会产生错误。 波特率是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示,其单位是波特(Baud)。波特率与比特率的关系是比特率=波特率X单个调制状态对应的二进制位数。 在信息传输通道中,携带数据信息的信号单元叫码元,每秒钟通过信道传输的码元数称为码元传输速率,简称波特率。波特率是传输通道频宽的指标。 每秒钟通过信道传输的信息量称为位传输速率,简称比特率。比特率表示有效数据的传输速率。

波特率就是一秒种传输0或1的个数,若波特率是9600那么它传输一位0或1的时间就是1/9600秒如果串口工作在方式一下波特率是9600晶振是11059200定时器选用timer1的自动重装模式即1/9600=定时时间就是1/9600=(12*32/11059200)*(256-定时初值)。那么定时初值=256-(11059200/(12*32*9600));

RS-485 就是 EIA-485,EIA-485仅仅规定了接受端和发送端的电气特性。没有规定或推荐任何通讯协议。

EIA-485可以应用于配置便宜的广域网和采用单机发送,多机接受通信链接。它提供高速的数据通信速率。(EIA-485和EIA-422一样 使用双绞线进行高电压差分平衡传输,它可以进行大面积长距离传输(超过1200米)。

不同的通讯协议,就是不同的数据通讯约定,如何呼,如何应,如何送,如何校对,如何握手。例如常见的 HTTP,FTP就是protocl(通讯协议)。通讯协议 分应用层,传输层,网络层,数据链路层,物理层,具体协议多极了。

波特率9600是什么意思

波特率是一个电子信号上的术语,用于描述信道的数据传输速度。所谓信道,可以是无线的,也可以是有线的,说白了就是两个东西之间传输数据。

波特率通常单位是bit/s,也就是 二进制位/秒。因为一个字节是8个bit,而一个字节通常可以表达一个ASCII码,比如一个英文字母,所以:9600的波特率的信道,理论上每秒可以传输9200/8个英文字母的数据量,也就是1200个字节,大约1.2KB。而19200则是每秒可传输2400字节。

比如一个文件,假设容量是100KB,那么它通过9600的信道传输,需要的时间至少是100/1.2秒,也就是超过一分钟了。

和19200波特率的信道,都是早期接口的传输率标准。比如早期的COM口(也叫串口),经常采用这样的标准,今天看来,速度非常非常慢。早期使用这样的接口用于鼠标、键盘等简单装置的连接,以及计算机和其它设备的通信。而现在,还有少数主板支持这样的接口。

在今天的计算机上,这个接口标准早已淘汰,但是生产中,还是有很多设备支持这样的接口。

比如,在数控机床上,当计算机与机床通信的时候,很多机床都要求使用COM口,以9600,11200或19200之类的波特率进行通信。

串口通信为什么要设置波特率

有两种比较可靠地说法:

1:根据电、传输介质等的物理特性结合串口设备使用的要求

为了保证有效通讯,根据电、传输介质等的物理特性结合串口设备使用的要求,确定RS232最大传输速率只能是115200,然后逐级二分得到57600,28800,19200……为适应这些速率,设计相应的晶振频率。

2:这是由电信线路特性决定的

电话线路的带通是300--3KHz,当时hayes先搞的modem,所以用的2400HZ信号,对应波特率是2400。由于基本频率确定了,以后采用的提高通讯速率的方法都是在2400基础上倍频的,所以形成了9600.19200。。。。

不管哪种说法,都是先有波特率再有晶振频率。

单片机串口通信波特率计算 。

在模式0和模式2下,串口波特率固定,模式0为Fosc/12。模式2为Fosc/32或Fosc/64,具体由PCON寄存器的SMOD位决定。

在模式1和模式3下,波特率是一个可变值,波特率可以由定时器1产生(8052可以由定时2产生),那么波特率到底为多少呢?波特率由定时器1的溢出率来决定:

Baud Rate = (2SMOD/32)*(TImer 1 Overflow Rate)

注意:2SMOD这里的SMOD是指数,SMOD为波特率双倍波特率位,该位在PCON寄存器中。

当使用TImer 1作为波特率产生器时,通常需要将TImer 1配置成8位自动重装的工作模式下,同时还要禁止TImer 1中断,那么timer 1的溢出率是怎样计算的呢?溢出率即溢出的频率,假设晶振频率为12MHz,TH1值为0xFE,则只需要两个时钟脉冲就会溢出,溢出的周期为2us,那么溢出的频率就为500KHz。根据定时器一节,定时时间有如下计算公式:

定时时间=(最大计数值-计数器初值)*机器周期=(最大计数值-计数器初值)*(12/晶振频率(Hz))(s)=(256-TH1)*(12/OSC_FREQ(Hz))(s)。

那么溢出频率自然就为:

OSC_FREQ(Hz)/((256-TH1)*12)。

所以最后推到出波特率为:

(2SMOD/32)*(OSC_FREQ(Hz)/((256-TH1)*12))。

波特率的计算公式有了,那自然就可以根据波特率推导出TH1的初值了:

BAUD_RATE=(2SMOD/32)*(OSC_FREQ(Hz)/((256-TH1)*12))

32*12*(256-TH1)=(2SMOD*OSC_FREQ(Hz))/BAUD_RATE

256-TH1=(2SMOD*OSC_FREQ(Hz))/(BAUD_RATE*32*12)

TH1=256-(2SMOD*OSC_FREQ(Hz))/(BAUD_RATE*32*12)

假设晶振频率为11.0592MHz,波特率为9600,SMOD=0,TH1初值应该为多少呢?根据上面公式可以计算得TH1=256-11059200/(9600*32*12)=0xFD。

小编推荐阅读:

计算机数据传输9600波特率,什么是波特率_波特率9600是什么意思_串口通信为什么要设置波特率?...相关推荐

  1. 计算机的串口波特率,什么是波特率_波特率9600是什么意思_串口通信为什么要设置波特率?...

    描述 波特率(Baud Rate) 单位 bps -- 每秒传送的字节数 Byte Per Second.. (BaudRate) 模拟线路信号的速率,也称调制速率,以波形每秒的振荡数来衡量.如果数据 ...

  2. 波特率9600是什么意思 串口通信为什么要设置波特率

    波特率9600是什么意思 波特率是一个电子信号上的术语,用于描述信道的数据传输速度.所谓信道,可以是无线的,也可以是有线的,说白了就是两个东西之间传输数据. 波特率通常单位是bit/s,也就是 二进制 ...

  3. 树莓派4bpython串口通信解读数据_树莓派基础实验36:通用串口通信实验

    一.介绍 对于树莓派 3B+来说,他的UART功能有三种: 1.内部蓝牙使用: 2.控制终端使用: 3.与其他设备进行串口通信. 在树莓派基础实验35:USB TO TTL模块实验中学习了通过串口对树 ...

  4. 什么是波特率?为什么要设置波特率?

    欢迎来到东用知识小课堂! 一.什么是波特率? 波特率(Baud Rate)单位bps是用于衡量串口通信速度的单位,它表示每秒钟发送的比特数.如果一个串口的波特率为9600,就表示该串口在一秒钟内可以发 ...

  5. 树莓派串口通信编码_树莓派3B/3B+与Rosbot通信02:USB与串口通信

    前言:在上一篇中,我们已经下载和安装好通信的各种库和其他东西,在这一篇中我们将介绍如何将树莓派与Rosbot连接设置和基础的代码编程. 串口通信 串口设置 1.设置波特率:进入minicom配置界面 ...

  6. android 串口调试工具_树莓派通用串口通信实验

    一.介绍 对于树莓派 3B+来说,他的UART功能有三种:1.内部蓝牙使用:2.控制终端使用:3.与其他设备进行串口通信. 在树莓派USB TO TTL模块实验中学习了通过串口对树莓派进行控制台控制, ...

  7. 计算机数据传输9600波特率,波特率9600每秒的传输字节 传输一个字节要多久-与非网...

    波特率9600指的是每秒可以传输9600个二进制位,也就是9600/8个英文字母的数据量,也就是1200个字节,大约1.2KB. "波特"(Baud)本身已是速率,所以不需要写成 ...

  8. db9针232接口波特率标准_理解串口通信以及232,485,422常见问题

    下面先讲一讲串口通信的一些基本概念,术语.如果对串口通信比较熟悉的,就当复习复习,如果哪里讲错或不到位,也可以及时指出,当作一块交流交流. 这里并不对串口的编程作讲解,主要是从应用的角度去讲一讲.因为 ...

  9. vb串口 任意波特率_学习串口参数详解:波特率,数据位,停止位,奇偶校验位...

    串口常用参数,串口是一种非常通用的设备通信的协议(不要与通用串行总线Universal Serial Bus(USB)混淆). 中文名:串口常用参数 属    性:通用设备通信的协议 相    关:通 ...

最新文章

  1. 卷积神经网络中十大拍案叫绝的操作!
  2. 安卓python编辑器-有了这款编辑器,随时随地都能愉快的学习python!
  3. 创业故事:腾讯的创始人们
  4. php输出tab,设置Tab按钮列表 · DolphinPHP1.5.0完全开发手册-基于ThinkPHP5.1.41LTS的快速开发框架 · 看云...
  5. vivo应用商店电脑版_VIVO应用商店代理商江湖的那些关系
  6. xxl子任务_XXL-JOB v2.1.2 发布,分布式任务调度平台
  7. oracle的共享内存段,oracle共享内存段手工清理
  8. 利用Linux搭建SVN服务器,详细过程
  9. 一张图看懂VnTrader的数据流
  10. FRR BGP协议分析10 -- 路由衰减
  11. 15.4.1 使用CREATE OR REPLACE VIEW语句修改视图结构
  12. EAS的各种日志说明 (转载)
  13. 申请高德地图开发者key
  14. AWAY3D 搜搜街景原理 谷歌街景原理 FLASH实现 百度景点原理 球状天空盒模型 鱼眼相机...
  15. C#窗体设计中InitializeComponent的用法
  16. 分布式搜索引擎es原理
  17. Java 8?还记得那年大明湖畔的Java 7吗?
  18. mysql查询并计算单价_Mysql--查询的成本如何计算
  19. [转帖]探秘华为(二):华为和H3C(华三)的分道扬镳
  20. 三菱编程软件GX Works2复制粘贴错位

热门文章

  1. Android图片压缩浅谈
  2. 名额不多!2022年安徽省商标品牌示范企业申报时间条件及奖励补助
  3. Python爬取https://unsplash.com/的图片
  4. classes.dex硬编码后重签名安装
  5. opencv3.4+vs2017调用摄像头以及常见错误:[ WARN:0] Failed to set mediaType (stream 0, (640x480 @ 30) MFVideoForma
  6. Games104现代游戏引擎入门-lecture4游戏中的渲染系统
  7. 训练神经网络的秘诀,Andrej Karpathy大神的刷屏之作
  8. js封装字母大小写转换升级版
  9. 解析世界杯超大规模直播场景下的码率控制 1
  10. VMWare虚拟机网络连接设置