UASRT(2)

UASRT参数配置

数据发送过程
1.双缓冲
在这里插入图片描述
当要发送三个数据 且是连续发送 第一个数据写入TDR寄存器 然后到移位寄存器发送(一个一个bit的发送)在第一个数据在移位寄存器发送的时候第二个数据就已经被写入TDR寄存器了等到第一个数据发送完第二个数据就进入移位寄存器中发送 依次类推第三个数据也是同第二个数据如此
这样通过双缓冲就可以完成多个数据的连续发送
在数据的发送中会存在两个问题
在这里插入图片描述
1 就是数据发送过快 在写入寄存器中数据覆盖了(如第二个数据被第三个数据覆盖了)
2 还有就是不知道数据发送完到底是什么时候
那么就涉及到了SR状态寄存器 通过读取状态寄存器的一些比特位可以解决相关的问题

TXE标志位
TXE是SR状态寄存器的最左边 在这里插入图片描述
当IDR寄存器中还有数据时(数据正在等待被传输到移位寄存器中被发送)TXE位就为0 当IDR寄存器没有数据时(表示可写入数据)TXE位就为1 这样写一个while循环当TXE为0时就不写入数据 当TXE为1时就可以写入数据

TC标志位
在这里插入图片描述
TC标志位为1时需要TDR寄存器为空 并且移位寄存器也为空 才使得TC标志位为1 当数据进入TDR 然后进入移位寄存器中处理一段时间才能全部把一个字节的数据发送完成 当数据还在移位寄存器发送的时候 TXE为1 (IDR寄存器为空) 当移位寄存器传输完数据后 移位寄存器也为空位状态 然后TC也为1 当标志位TXE和TC都为1就表示一个数据的传输完成

单个数据的发送
在这里插入图片描述
当TDR = 0后就写入要发送的数据到移位寄存器中 然后等待数据发送完成后 标志位TC=0标志着可以写入下一个数据到TDR寄存器中
数据的连续发送
在这里插入图片描述
第二种循环才是对的 第二种方式运用到了两个缓冲 但是第一个方式一直是一个数据再发送 就是第一个数据发送完才能发送第二个数据 而第二种方式是在第一个数据发送时第二个数据也被写入TDR寄存器 更加高效快捷
数据接收时候的问题
我们不知道什么时候读取数据的 就是不知道什么时候发送方发送数据会造成读取数据过快和过慢造成数据的丢失
在这里插入图片描述
图中的寄存器应为RDR
当数据到移位寄存器中 RDR寄存器读取数据过早时就会乱码
在这里插入图片描述
一个字节的数据读取 就是接收单个数据的代码
在这里插入图片描述
接收多个数据的代码

错误标志位

在这里插入图片描述
在串口传输数据的过程中可能会发生数据错误的情况 但是如何来判断数据是否错误呢? 就是通过错误标志位 错误标志位实在SR状态寄存器中的
PE奇偶校验错
在这里插入图片描述
当数据在传输的过程中以数据帧的形式传输 通常会拿最后一个位MSB作为校验位 如这里设置为奇校验 数据中只有4个1就在MSB校验位中自动补上一个1
一共就有5个1 在数据的传输中有错 数据出错 接收方的SR状态寄存器中的RXNE位由0变为1表示接收到了数据 PE位为1表示接收到的数据错误
FE帧格式错
在这里插入图片描述
就是在该收到停止位的地方没有收到停止位的高电平 表示接收到的数据不完整FE标志位置1
NE噪声错
在这里插入图片描述
在数据的传输中数据是以数据帧的形式传输的 通常接收方会以一定的频率读取 如果三次读取到的都是高电平 那么就认定为高电平 但是由于噪声的影响会造成数据的读取失误就是不知道读取到的是什么电平
ORE过载错
在这里插入图片描述
由于读取数据过慢造成第二个数据被第三个数据覆盖 造成数据丢失 SR寄存器的ORE位就为1
错误标志位的使用方法
在这里插入图片描述
接收到数据后 srcpy就为SR寄存器 检查是否错误校验位有错

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023年中国位置服务(LBS)产业链及市场规模分析[图]

卫星导航系统的高技术、高成本、高效益属性使其成为国家经济实力与科技实力的标志之一。卫星导航系统由空间段、地面段和用户段三个部分组成,已广泛用于交通运输、农林牧渔、航空航海等领域,服务载体包括手机、汽车、无人机、导弹等,对人们生…

Docker基础知识总结

文章目录 1.Docker介绍2.Docker版本3.为什么要使用Docker4.Docker基础组件4.1 镜像(Images)4.2 容器(Container)和仓库(Repository) 5.Docker安装6.Docker run7.Dockerfile8.Docker commit9.镜像发布到镜像…

深度学习之基于CT影像图像分割检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 基于CT影像的图像分割检测系统可以被设计成能够自动地检测出CT图像中的病变部位或解剖结构,以协助医生进…

[一周AI简讯]OpenAI宫斗;微软Bing Chat更名Copilot;Youtube测试音乐AI

OpenAI宫斗,奥特曼被解雇,董事会内讧 Sam Altman被解雇,不再担任CEO,董事会的理由是奥特曼在与董事会的沟通中始终不坦诚,阻碍了董事会履行职责的能力。原首席技术官Mira Murati担任新CEO。OpenAI宫斗剧远未结束&…

Python的requests库:解决文档缺失问题的策略与实践

在Python的requests库中,有一个名为ALL_PROXY的参数,但是该参数的文档并未进行详细的描述。这使得用户在使用该参数时可能会遇到一些问题,例如不知道如何正确地配置和使用该参数。 解决方案 针对这个问题,我们可以采取以下几种解…

[Kettle] 生成记录

在数据统计中,往往要生成固定行数和列数的记录,用于存放统计总数 需求:为方便记录1~12月份商品的销售总额,需要通过生成记录,生成一个月销售总额的数据表,包括商品名称和销售总额两个字段,记录…

深度学习之基于YoloV5-Pose的人体姿态检测可视化系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 深度学习之基于 YOLOv5-Pose 的人体姿态检测可视化系统介绍YOLOv5-Pose 简介系统特点系统架构使用方法 二、功能三、系统四. 总结 一项目简介 深度学习之基…

金融市场数据至上:QuestDB 为您的数据提供最优解 | 开源日报 No.81

vlang/v Stars: 34.7k License: MIT V 是一个开源项目,它是一种简单、易于学习的编程语言。该项目具有以下核心优势和主要功能: 简洁性:可以在周末内掌握这门语言。快速编译:使用 Clang 后端约为 110k loc/s,本地和…

【grafana | clickhouse】实现展示多折线图

说明: 采用的是 Visualizations 的 Time series,使用的 clickhouse 数据源 在工作中遇到了一个需求,写好了代码,需要在grafana上展示在一个项目中所有人的,随时间的代码提交量变化图 目前遇到的问题:展示…

jetbrains ai 提示该地区不可用的百分百解决方案,亲测有效

问题 申请 jetbrains 的 ai assistant 白名单已经通过,但是在使用 ai assistant 的过程中提示 The usage of the service is not permitted in your location ,我所在的地区是中国,目前该插件是对中国大陆关闭的。 刚开始我怀疑是代理的问题&#xff…

2023年中国负极材料分类、产量及市场规模分析[图]

锂离子电池主要由正极、负极、隔膜、电解液、电池外壳组成。负极材料是锂离子电池的重要原材料之一,对于锂离子电池起关键作用。在充电过程负极材料中不断地与锂离子发生反应,将锂离子“擒获并存储”起来,亦将外部的功以能量的形式存储在电池…

1688API接口接入|阿里1688-B类电商基础链路专业化体验升级

新挑战,新契机! 当下整个互联网的竞争环境的变化为我们带来新的机遇和挑战。1688作为连接中小生产商、贸易商和零售商的源头货源首选平台,持续不断地为B类买家提供更专业的服务和更优质的源头厂货供给,打造核心竞争力。 面对新的…

数据结构与算法编程题3

长度为n的顺序表&#xff0c;删除线性表所有值为x的元素&#xff0c;使得时间复杂度为O(n)&#xff0c;空间复杂度为O(1) #include <iostream> using namespace std;typedef int ElemType; #define Maxsize 100 #define OK 1 #define ERROR 0 typedef struct SqList {E…

回顾以前的java

System.out.println(card1);打印的是对象的话会自动调用我们重写的toString方法 这个方法通常在Object类中定义&#xff0c;所有的Java类都继承自Object类 实例方法有个this,谁调用这个方法谁就是this 1.练习重写实例方法,调用this 调用object的equals,实际是判断地址相不相等…

【精选】JSP技术知识点大合集

JSP简介 JSP介绍 JSP(全称Java Server Pages)Java服务端页面技术&#xff0c;是JavaEE平台下的技术规范。它允许使用特定的标签在HTML网页中插入Java代码&#xff0c;实现动态页面处理&#xff0c;所以JSP就是HTML与Java代码的复合体。JSP技术可以快速的实现一个页面的开发&am…

数据结构与算法编程题4

删除线性表中值在s与t之间的元素&#xff08;s<t&#xff09;&#xff0c;s和t不合理或者顺序表为空则显示出错信息并退出运行。 #include <iostream> using namespace std;typedef int ElemType; #define Maxsize 100 #define OK 1 #define ERROR 0 typedef struct…

2023年中国稀土精密加工分类、市场规模及发展趋势分析[图]

稀土精密加工行业是指通过精密加工技术对稀土材料进行加工、制造和加工成品的一种行业。稀土精密加工行业主要包括稀土材料的提取、分离、纯化、加工和制造等环节&#xff0c;其中加工和制造是该行业的核心环节。稀土材料是指具有特殊物理、化学和磁性等性质的一类元素&#xf…

2023年中国吞咽神经和肌肉电刺激仪市场发展趋势分析:产品需求持续增长[图]

吞咽神经和肌肉电刺激仪是通过输出特定的低频脉冲电流对吞咽及构音功能相关的神经和肌肉进行电刺激&#xff0c;改善吞咽、构音肌群的收缩运动功能&#xff0c;缓解神经元麻痹&#xff0c;促进吞咽反射弧的重建与恢复&#xff0c;进而提高患者的吞咽及语言能力。 吞咽神经和肌…

RocketMQ运维工具

生产环境的RocketMQ集群&#xff0c;需要持续运行并且要有较高的稳定性&#xff0c;运维是件重要但有时候很繁琐的事&#xff0c;本节介绍运维工具的相关内容。 1.开源版本运维工具功能介绍 第1章介绍过如何启动运维页面&#xff0c;运维页面打开后&#xff0c;从左至右有7个…

查询药物的药效和机制

PubChem (nih.gov) XL765: Uses, Interactions, Mechanism of Action | DrugBank Online 基础信息查询 如&#xff1a;Paclitaxel紫杉醇的查询 Pharmacodynamics Paclitaxel is a taxoid antineoplastic agent indicated as first-line and subsequent therapy for the trea…