串口硬件流控RTS、CTS

串口接线

为什么有时候要在RXD和TXD的基础上增加RTS、CTS?

当接收端的串口处理速度过低时,会丢失数据,因此考虑增加一种通知的机制来告诉发送端是否可以发送,即增加了RTS(Require To Send)和CTS(Clear To Send)信号线。

问题展示

假设双方约定波特率为每秒1000个字节,接收端由于读取串口数据后需要进行分析,其读取速度为每秒100个字节。如果发送端不停地发送,那么接收端将有90%的数据被新数据覆盖丢失。
当然接收端程序里也可以设置一个缓冲区数组,每次接收时直接将串口数据安排到缓冲区内,而非直接进行分析,由于将串口数据安排到缓冲区是CPU操作,CPU主频远高于串口波特率,所以该操作是非常迅速的。
在缓冲区未满之前,接收端用CPU频率对抗波特率,接收端没有速度压力。该操作可以延缓数据发生丢失的时间,在缓冲区满后,依然会产生不可避免的数据丢失。

硬件流控机制

发送端在发送前检查自身的CTS,CTS低电平为可以发送。接收端RTS连接到发送端的CTS,接收端准备好接收后拉低自己的RTS即拉低发送端的CTS。
在发送端,如果自身CTS为高时,即使程序疯狂发送,硬件也不会发送。可以自行将CTS引脚手动跳线到VCC或者GND测试一下便知。
在接收端,读取串口数据寄存器后,会自动将RTS(对方的CST)变低,让发送方知道我的程序已经读取完毕,可以继续发送。串口寄存器set数据后,会自动将RTS(对方的CST)变高,让发送方知道我在等待程序读取寄存器,不要发送。
设置流控模式后,芯片内部自动完成以上机制,无需在程序中while判断CST的值,无需手动设置RST的值。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用“和美”丈量中国丨走进酒博物馆系列⑨

五粮液酒文化博览馆始建于1988年,是中国酒业最早的酒文化博览馆,于2020年启动升级改造。 现在我们看到的五粮液酒文化博览馆,采用了当今博览馆最前沿的展陈方式,展陈设计与空间布局更具灵动性和多元性,蕴含传统文化氛围…

stable diffusion艰难炼丹之路

文章目录 概要autoDL系统盘爆满autoDL python3.8切换python3.10dreambooth训练大模型完成后报错 概要 主要是通过autoDL服务器部署stable diffusion,通过dreambooth训练大模型。 问题: autoDL系统盘爆满autoDL python3.8切换python3.10dreambooth训练大…

mac M2芯片在使用Android studio 编译问题bad cpu type in executable android

由于mac的intel芯片的一些指令集没有同步在M1 M2芯片上所以需要做兼容 打开控制台(通过访达 - 应用程序 - 实用工具 - 终端 ) 输入 softwareupdate --install-rosetta 之后在输入 A 就可以了。 原产考地址:硬核!在 M1 芯…

智能视频监控,究竟“智”在哪里?

当人们一提到智能视频监控时,就会想起高清摄像头、人脸识别等技术。其实不然,真正智能视频监控不仅仅是这些技术算法,更重要的是如何将这些算法融入到应用场景中,更好地去服务大众、起到降本增效的作用。 首先,智能视…

塔望食观察 | 中国海参产业发展现状及挑战

海参,一个古老的物种,堪称海底活化石,据资料显示,海参在地球上存活超过6亿年,比恐龙还早。海参的药用、食疗和营养滋补价值极高,清朝学者赵学敏编的《本草纲目拾遗》有这样的叙述:“海参性温补&…

踩雷react-useRef钩子函数

今天测试提了一个bug,之前做的有个需求,在触发事件发起请求后,成功响应返回的新的数据没有第一时间渲染到网页上。 方法也都成功更新了数据,就是渲染会慢1-2分钟,排错排了老半天,最后找到了原因。 一般情…

Qt如何实现动态背景-视频背景

前言 需求:加载视频作为视频背景,在上层可以进行图片的动画化,或是进行其他操作。 几种方法: 1、直接将视频弄成一个QDialog, 然后再上层在弄一个QDialog,背景透明即可。但遇到一个问题,QDialog没办法局…

物业一站式工单管理系统哪家好?如何提升物业管理和维修服务质量?

在物业管理和维修服务领域,一个高效便捷的工单管理系统扮演着至关重要的角色。它不仅方便了住户提交报修请求,还极大地提高了物业管理和维修团队的工作效率。本文将深入探讨“的修”一站式工单管理系统在物业管理和维修服务中的重要作用。 一、“的修”一…

一款轻量级事件驱动型应用程序框架

QP™/C 实时嵌入式框架 (RTEF) 是专为实时嵌入式 (RTE) 系统量身定制的活动对象计算模型的轻量级实现。QP 既是用于构建由活动对象(参与者)组成的应用程序的软件基础结构,也是用于以确定性方式执…

linux安装filebeat并收集日志到elasticsearch

摘要: 通过filebeat收集服务器上各个应用的日志到elasticsearch,通过tags区分不同的应用创建不同的索引保存日志。 官网地址: https://www.elastic.co/cn/downloads/past-releases#filebeat 安装步骤: 1:下载并解…

C#(Csharp)我的基础教程(四)(我的菜鸟教程笔记)-Windows项目结构分析、UI设计和综合事件应用的探究与学习

目录 windows项目是我们.NET学习一开始必备的内容。 1、窗体类(主代码文件窗体设计器后台代码文件) 主窗体对象的创建:在Program类里面: Application.Run(new FrmMain());这句代码就决定了,当前窗体是项目的主窗体。…

MySQL 主从复制、读写分离

MySQL 主从复制、读写分离 1、MySQL 主从复制1.1什么是主从复制?1.2为什么要读写分离呢?1.3 什么时候要读写分离?1.4主从复制与读写分离1.5mysql支持的复制类型1.6主从复制的工作过程1.7MySQL 读写分离原理1.8目前较为常见的 MySQL 读写分离分…

2023年9月榜单丨飞瓜数据B站UP主排行榜(B站平台)发布!

飞瓜轻数发布2023年9月飞瓜数据UP主排行榜(B站平台),通过充电数、涨粉数、成长指数、带货数据等维度来体现UP主账号成长的情况,为用户提供B站号综合价值的数据参考,根据UP主成长情况用户能够快速找到运营能力强的B站UP…

微信怎样批量添加好友?批量添加好友的好处有哪些?

微信是目前最流行的社交软件之一,不仅可以与亲友保持联系,还能为企业提供更多商机和合作伙伴。为了提高工作效率和增加客户数量,许多企业开始寻找批量自动化添加好友的工具。 那么批量添加好友的好处有哪些呢? ①批量自动化添加好…

微信小程序之本地生活(九宫格)

文章目录 一.创建项目二.配置修改json三.编写WXML四.编写WXSS五.最终效果 一.创建项目 创建新的项目&#xff0c;名称为&#xff1a;本地生活 二.配置修改json 在app.json中删除其他页面 将index改为grid 自动生成新的文件 添加自己的轮播图片 源代码&#xff1a; <!--…

基于FPGA的图像缩小算法实现,包括tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 将FPGA的处理结果导出到matlab中显示图像效果&#xff1a; 2.算法运行软件版本 vivado2019.2 matlab2022a 3.部分核心程序 timescale 1ns / 1p…

C语言,序列中删除指定数字

题目考点&#xff1a;对continue的运用&#xff08;也可以用&#xff01;来实现&#xff09; 先创建一个数组&#xff0c;数组大小应该要根据题目要求&#xff0c;根据数据范围&#xff0c;要设立一个大小为50的数组。 接着用scanf输入n的值&#xff0c;再设一个循环&#xff…

用ffmpeg删除视频的音轨,让视频静音

ffmpeg -i ~/video/video.mp4 -an -vcodec copy ~/video/muteVideo.mp4 删除以后我们查看muteVideo的文件信息&#xff0c;只有一个Stream&#xff1a;video信息了。 再对比看一下video.mp4的信息&#xff0c;是有两个Stream信息&#xff0c;一个video&#xff0c;一个audio。…

口袋参谋:淘宝卡首屏玩法,1步高效拉升店铺免费流量!

​淘宝上商家都希望自己的商品出现在买家的面前&#xff0c;于是就出现了卡首屏玩法。 那什么是卡首屏呢&#xff1f; 就是使用商品链接或者商品ID通过卡首屏工具&#xff0c;生成卡首屏二维码&#xff0c;使用手淘APP扫一扫后&#xff0c;指定的宝贝就会显示在首屏&#xff…

【Nuget】程序包源

程序包源地址(部分) Azure 中国区的官方 NuGet 程序包源地址 https://nuget.cdn.azure.cn/v3/index.json 官方 NuGet 程序包源地址 V2 https://www.nuget.org/api/v2 官方 NuGet 程序包源地址 V3 https://api.nuget.org/v3/index.json MyGet 上 Eto.Forms 框架的程序包源地址 h…