如何根据波特率计算设备每秒传输多少字符

news2024/12/28 5:58:14

前言

(1)微机原理要进行期末考试了,要准备“预习”了。今天看到关于波特率和字符传输的知识,感觉这个在实际项目中可能会使用到。
(2)因为之前我在学习韦东山老师的课程的时候,他通过波特率计算出了字符传输速度,然后迅速定位到了问题。所以我就将这个知识分享给和我一样大学不听课的“差生”们。

题目

(1)我比较喜欢通过题目来学习啊,所以直接上题目。
(2)已知异步通讯接口由1起始位,7数据位,1奇偶校验位和1停止位组成,当接口每分钟传输3600个字符,波特率为多少?位周期为多少?
(3)首先,我们需要知道波特率是什么?波特率是指,串口通信时每秒钟可以传输多少个二进制位(bit)。比如每秒可以传输115200个二进制数(bit),那么波特率就是115200。
(4)知道这个之后,那么我们还需要知道,串口通讯中,每个字符有多少个二进制数(bit)。这个需要根据我们自行设置,在编写程序的时候,一般是只需要设置校验位,数据位和停止位的。
(5)但是实际上的串口通讯中一个数据帧,还包含了1起始位。
(6)根据题解我们可以知道,起始位为1,数据位为7,1个奇偶校验,1停止位,所以一个字符包含1(起始位)+7(数据位)+1(校验位)+1(停止位)=10bit。
(9)那么上面的题目答案就出来了:因为每分钟传输3600个字符,所以每秒传输3600/60=60个字符。因为一个字符为10bit,所以60*10=600。故此题波特率为600,位周期为1/600s。

在这里插入图片描述

实际项目的波特率传输字符计算

(1)因为一个字节为8bit,所以绝大多数,我们的数据位都是采用的8。为了提高传输速度,我们不设置校验位(注意,这样虽然提高的传输速度,但是缺少了验证过程,可能会获取到错误数据)。1停止位。
(2)而每个串口通讯肯定是存在1起始位的,所以最终的结果就是,1字符包含 1(起始位)+8(数据位)+0(校验位)+1(停止位)=10bit。
(3)由于波特率为11500,那么表示每秒可以传输115200bit,及每秒可以传输115200/10=11520个字符。

在这里插入图片描述

如果停止位为1.5怎么办

(1)校验位,数据位都是整数。这个没啥好说的,但是停止位里面居然还有一个1.5。这个怎么办呢?
(2)不用担心啊,你直接按照上面的公式来就可以了。假设我这里设置的是无校验位,8数据位,1.5停止位。那么一个字符包含 1(起始位)+8(数据位)+0(校验位)+1.5(停止位)=10.5bit。
(3)由于波特率为11500,那么表示每秒可以传输115200bit,即每秒可以传输115200/10.5 ≈10,971个字符。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/630572.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SpringBoot+Thymeleaf仓库管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着信息技术的快速发…

群晖IPv6/ddns-go/域名解析设置内网穿透方案

前言 群晖的内网穿透有很多方案,外网IPv4(这个现在很难搞到了),中间服务器搭建Tunnel隧道,frp等方案(网速慢,流量限制,需另购服务器),第三方服务花生壳等(按量付费,速度问题)。 本篇介绍的是 …

阿里云安装和远程连接mysql8.0数据库

目录 在云服务器安装MySQL8.0(详细版): 安装过程中遇到的两个问题的解决方式 无法获取support-files/mysql.server 的文件状态(stat): 没有那个文件或目录 解决不能进行远程连接,报错Communications link failureThe last pac…

C++算法:排序之四(计数、基数、桶排序)

C算法:排序 排序之一(插入、冒泡、快速排序) 排序之二(归并、希尔、选择排序) 排序之三(堆排序) 排序之四(计数、基数、桶排序) 文章目录 C算法:排序三、非比…

本地gradle在idea中的配置

因为公司在用的gradle构建项目,由于学安卓时候把gradle搞的四不像,所以重新配置了gradle在此记录一下 文章目录 安装gradel官网下载解压init.d里面创建init.gradle文件父目录创建gradleRepository配置环境变量测试是否配置成功 idea配置gradle重新构建项…

深度学习笔记之Seq2seq(二)基于Seq2seq注意力机制的动机

深度学习笔记之Seq2seq——基于Seq2seq注意力机制的动机 引言回顾:基于机器翻译任务的 Seq2seq \text{Seq2seq} Seq2seq网络结构注意力机制的动机循环神经网络作为 Encoder \text{Encoder} Encoder产生 Context \text{Context} Context向量的缺陷注意力机制处理上述…

chatgpt赋能python:Python怎么从列表里随机抽取?

Python怎么从列表里随机抽取? 在编程中,我们常常需要从一个列表里面随机抽取一个元素来进行一些操作,比如说在一个游戏中随机抽取一个怪物来进行战斗。Python提供了一个内置模块——random模块,用于生成随机数。这个模块可以帮助…

(数组) 1207. 独一无二的出现次数 ——【Leetcode每日一题】

❓1207. 独一无二的出现次数 难度:简单 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 示例 1: 输入:arr [1,2,2,1,…

做一个比较有意思的条目选择动画 css

做一个比较有意思的条目选择动画 css 效果 如何实现 原理就是将母元素设置成 relative 然后在四边放四个 absolute 的色块。 初始状态是opacity 为 0 的&#xff0c;当母元素 hover 的时候&#xff0c;将四个边角色块设置 opacity: 1 并偏移指定量。 html <div class&qu…

English Learning - L3 作业打卡 Lesson5 Day32 2023.6.5 周一

English Learning - L3 作业打卡 Lesson5 Day32 2023.6.5 周一 引言&#x1f349;句1: What do you read when you are travelling by train or bus?成分划分弱读爆破语调 &#x1f349;句2: What are other passengers reading?成分划分弱读连读语调 &#x1f349;句3: Perh…

软考A计划-系统架构师-官方考试指定教程-(15/15)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

规则引擎--QLExpress:普通表达式的运行

目录 QLExpress普通表达式执行解析并转化为ExpressNode语法解析,得到如下的语法树根据 ExpressNode 树生成指令树执行指令树得到结果InstructionConstData 的指令执行InstructionOperator的指令执行 最后得到结果 再看一个in表达式设置参数的执行 QLExpress github: https://g…

【matlab】matlab算法封装成工具包提供给程序调用

说明&#xff1a; 1、非进程通讯协议&#xff0c;无需在电脑上安装完整版的matlab开发环境。 2、本项目以C#为案例&#xff0c;调用的语言不限&#xff0c;操作流程基本相同。 一、准备工作 1、安装MATLABWebAppServerSetup集成开发环境 2、安装Visual stdio 2017集成开发环…

Openharmony添加编译自己应用

介绍一下Openharmony如何在庞大的编译构建系统中&#xff0c;增添自己想编译的内容。不定期更新~&#x1f438; gn官方文档&#xff1a; https://gn.googlesource.com/gn//main/docs/quick_start.md https://gn.googlesource.com/gn//master/docs/reference.md openharmony官…

Salesforce退出市场后类似的CRM系统有哪些

Salesforce退出中国市场后&#xff0c;对很多使用Salesforce的国内企业来说是一个不小的打击。他们需要寻找与Salesforce功能相当、具有良好口碑的CRM客户管理系统来替代。本文就为大家推荐五款类似Salesforce的CRM系统。 1、Zoho CRM Zoho CRM是一款SaaS云端CRM系统&#xf…

005: vue中el-upload 组件添加token的方法

第005个 查看专栏目录: 按照VUE知识点 ------ 按照element UI知识点 echarts&#xff0c;openlayers&#xff0c;cesium&#xff0c;leaflet&#xff0c;mapbox&#xff0c;d3&#xff0c;canvas 免费交流社区 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏…

谈谈嵌入式开发中签名校验和加解密作用的理解

1、前言 本博文不是讲解可信加签和固件加密的具体原理&#xff0c;而是谈谈实际嵌入式开发中&#xff0c;可信加签和固件加密的应用场景&#xff0c;可以帮助从事嵌入式开发的人员快速理解加签和加密的作用。 2、嵌入式开发中可信加签和固件加密介绍 (1)各家公司都有自己的可信…

操作受限的线性表——栈

本文主要内容&#xff1a;本文主要讲解栈的基本概念、基本操作和栈的顺序、链式实现。 目录 栈一、栈的基本概念1、基本概念2、基本操作 二、栈的顺序存储结构1、顺序栈的实现2、顺序栈的基本运算1&#xff09;初始化2&#xff09;判栈空3&#xff09;进栈4&#xff09;出栈5&a…

【环境配置】C/C++第三方库管理工具vcpkg安装和使用

一&#xff0c;vcpkg简介 vcpkg是微软公司开发的一个开源C包管理工具&#xff0c;它可以很方便的帮助您在 Windows、 Linux 和 MacOS 上下载&#xff0c;编译和安装C 第三方库。它具有自动解决依赖关系的能力&#xff0c;并且支持多种目标架构和平台。提供了超过1500个C库的预…

【Ubuntu系统内核更新与卸载】

【Ubuntu系统内核更新与卸载】 1. 前言2. 内核安装2.1 系统更新2.2 官网下载 3. 内核卸载3.1 需求分析3.2 卸载方法 1. 前言 我们在搭建环境时常常遇到内核版本不匹配的问题&#xff0c;需要我们安装新的内核版本&#xff1b;有时又会遇到在安装软件时报错boot空间已满无法安装…