描述

波特率(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。

小编推荐阅读:

打开APP精彩内容

点击阅读全文

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

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

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

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

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

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

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

  4. linux命令设置波特率,Linux设置串口波特率等参数

    stty查看串口参数 stty -F /dev/ttyS0 -a 1 1 查看串口1(/dev/ttyS0)当前的参数,包括波特率.数据位等. stty设置串口参数 stty -F /dev/ttyS ...

  5. 异步通信还要设置波特率?_深入理解同步/异步通信

    异步通信还要设置波特率?_深入理解同步/异步通信   上一篇我们解释了串口通信中同步通信和异步通信的区别,详见上篇链接.其中我们分析同步/异步通信最重要的不同点就是是否同步时钟,可能就有很多小伙伴不理 ...

  6. 串口设置波特率linux函数接口,Linux下串口编程之一:基础设置函数

    1,串口操作需要的头文件 #include /* 标准输入输出定义 */ #include /* 标准函数库定义 */ #include /* Unix 标准函数定义 */ #include #inc ...

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

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

  8. 已知波特率 生成c语言,C语言中怎么设置波特率

    C语言中怎么设置波特率以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C语言中怎么设置波特率 这个是使用定时器1来产生波 ...

  9. 水仙花亲密数c语言,★2015年3月15日江苏省高校计算机等级考试二级C语言1套上机题(C01)及其解答_张柏雄.doc...

    ★2015年3月15日江苏省高校计算机等级考试二级C语言1套上机题(C01)及其解答_张柏雄 目录 C01(上午8:00-9:10)原题 解答 附录:通用的自编函数 2015春江苏省高校计算机二级C语 ...

最新文章

  1. Thrift的接口定义语言IDL
  2. 一文讲清,MySQL主从架构
  3. 儿童版「微信」要来了?
  4. 什么是同源策略及限制
  5. Web MVC Rest 处理流程分析
  6. 王道考研 计算机网络1 计算机网络概念,组成,功能和分类
  7. MapXtreme实用技巧
  8. 招聘笔试行测题之图形推理题解题思路汇总
  9. java mail 注册邮箱的实现
  10. 人脸对齐:Wing Loss人脸关键点检测算法2018
  11. 猿辅导 x DorisDB:构建统一OLAP平台,全面升级数据分析能力
  12. HBuilder webapp实现消息推送
  13. git merge工具 meld
  14. 一位全加器 VHDL设计与实现
  15. 申宝股票-市场全天弱势洗盘
  16. 解决django运行manage.py runscript命令时报错Try running with a higher verbosity level like: -v2 or -v3
  17. 架构集一---语音连麦聊天室实现方案分析
  18. Oracle 安装 docker,使用docker安装Oracle 12c database(一)
  19. Capsule Networks胶囊网络(二)
  20. 调用金蝶EAS系统标准凭证接口,封装凭证对象,调用业务接口前需先登录

热门文章

  1. js随机字符a-zA-Z0-9
  2. COTS应用程序开发框架简介(一)
  3. Python.random.seed()用法
  4. ardupilot 加速度计六面校准
  5. 不同路径(一个机器人位于一个 m x n 网格的左上角)
  6. 解决 MySQL 5.7 中 Your password does not satisfy the current policy requirements. 问题
  7. FreeEIM 网站地图 A
  8. 本体李俊|区块链的实际业务场景需要哪些技术模块?
  9. 复合文档格式(五) - 短流、短流容器流和短扇区分配表
  10. 子查询 navicat可视化,pymysql用法