正点原子串口算法解析-定时器+数组长度判断

news2024/11/23 12:34:39

源码

片段1

在这里插入图片描述
片段2

在这里插入图片描述
片段3

在这里插入图片描述

解析

片段1的作用

开启一个10ms的定时器

片段2的作用

每10毫秒置位接收标志位且关闭定时器

片段3的作用和详解

代码第38行
用res变量接收数据

从代码第39行开始看
接收标志位不允许接收(不为0) 下面的所有代码都不会运行
如果接收标志为允许接收(0) 且数组没有存满 就打开定时器且一直接收数据

那么这样下去就会有两个情况

情况1 我数据接满600字节会标记接收完成
情况2 每10ms定时器会自动标记接收完成

USART3_RX_STA的作用

作用1 用于数组长度计数
作用2 用于接收的标志位

一个变量达到了两个变量的作用

结论

所以这个算法
每次接收到600字节数据会保存数据用于你的二次处理
每10ms也会保存数据用于你的二次处理
且如果你不手动去清空接收标志位 他只会接收一次数据
通过USART3_RX_STA的使用你可以轻松的实现开启接收进行数据接收或者关闭接收进行数据处理

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

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

相关文章

CRM管理系统如何选型?分别有什么作用?

CRM管理系统通常指CRM系统,中文名称是客户关系管理,起源于上世纪80年代的“接触管理”,它能确保客户在销售、营销、服务上的每一步交互都顺利高效,带动业绩的提升。今天就来说一说CRM管理系统是什么(从使用到选型&…

【HarmonyOS】元服务混淆打包以及反混淆mapping文件生成

大家所知的Android中的“混淆”可以分为两部分,一部分是 Java 代码的优化与混淆,依靠 proguard 混淆器来实现;另一部分是资源压缩,从而可以减少包体积。 一般应用release发布的时候都会选择开启混淆,防止应用被反编译…

OpenPCDet系列 | 5.4.3 DenseHead中的AxisAlignedTargetAssigner正负样本分配模块

文章目录 AxisAlignedTargetAssigner模块assign_targets处理流程1. 提取有效gt信息2. 提取需要处理的类别信息3. 帧信息整合4. 批信息整合 assign_targets_single处理流程1. 构建每个anchor的正负样本label分配2. 构建每个anchor的正负样本编码信息bbox_targets分配3. 构建每个…

NMEA 2000总线连接器组成类别及功能

NMEA 2000总线介绍 连接的所有设备都能彼此通信 NMEA 2000总线系统是一种数字网络,可连接船上各种系统和设备,例如雷达、GPS、深度传感器、气象环境和船体控制系统。 NMEA 2000总线的工作方式 NMEA 2000总线通过总线连接器连接各个设备和系统&#xf…

HANTS时间序列滤波算法的MATLAB实现

本文介绍在MATLAB中,实现基于HANTS算法(时间序列谐波分析法)的长时间序列数据去噪、重建、填补的详细方法。 HANTS(Harmonic Analysis of Time Series)是一种用于时间序列分析和插值的算法。它基于谐波分析原理&#x…

linux 常用命令awk

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。 AWK用法 awk 用法:awk pattern {action} files 1.RS, ORS, F…

CFS三层内网靶机渗透

目录 一、靶场框架 靶场搭建: 二、渗透过程 三、总结 靶场介绍: 三层内网靶场,共有三个网段,分别为75网段(公网网段)、22网段(内网)、33网段(内网) 靶…

ChatGPT+ “剪映 or 百度AIGC” 快速生成短视频

🍏🍐🍊🍑🍒🍓🫐🥑🍋🍉🥝 ChatGPT快速生成短视频 文章目录 🍐1.ChatGPT 剪映🍏2.ChatGPT 百度AIGC平台&#x…

【ThinkPHP6系列学习-2】多应用模式配置

上一篇:【ThinkPHP6系列学习-1】下载并部署ThinkPHP6 这里写一写TP6下配置多应用。因为TP6和TP5有所差异,TP6默认是单应用模式(单模块),而我们实际项目中往往是多应用的(多个模块)&#xff0c…

1.Buffer_Overflow-2.Stack_Overflow / 写入字符串

这道题虽然简单 但是却给我了另一个解题的看法 我们先进行运行 我们看看保护 发现只有NX保护 反汇编看看 发现有shellcode 但是我们没有办法执行shellcode 因为v5 不会等于后面的 这里我原本没有想法 后面进行看看他的汇编 这里其实就很清楚了 .text:00000000004011BB …

( 动态规划) 674. 最长连续递增序列 / 718. 最长重复子数组——【Leetcode每日一题】

题目一&#xff08;贪心&#xff09; ❓674. 最长连续递增序列 难度&#xff1a;简单 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定…

vcruntime140.dll如何修复?这个修复方法很简单,适合电脑小白

今天打开photoshop软件工作的时候&#xff0c;突然间就打不开&#xff0c;电脑报错由于找不到vcruntime140.dll&#xff0c;无法继续执行此代码&#xff0c;然后我就把photoshop卸载了&#xff0c;再重新安装&#xff0c;依然还是报错。这个可怎么办&#xff1f;vcruntime140.d…

CentOS 安装MongoDB 6.0

一、安装依赖 yum install libcurl openssl xz-libs 二、下载安装包 安装包下载地址https://www.mongodb.com/try/download/community这里我选择的是 选择RedHat / CentOS 7.0平台的原因是我的操作系统使用的是CentOS 7.0的&#xff0c;需要下载与操作系统匹配的安装包 三、…

ChatGPT插件权限给Plus用户放开了

大家好&#xff0c;我是章北海mlpy ChatGPT插件权限给Plus用户放开了 我稍微测试了俩&#xff0c;感觉还行&#xff0c;后续我会对一些热门插件深入测测&#xff0c;敬请期待。 官方对插件的介绍如下&#xff1a; 1、插件由非由OpenAI控制的第三方应用程序提供动力。在安装…

Spring Cloud Alibaba-Sentinel熔断降级

Sentinel: 轻量级的流量控制、熔断降级Java库&#xff0c; 分布式系统的流量防卫兵。 文章目录 一、Sentinel 是什么&#xff1f;二、安装Sentinel控制台三、Sentinel 实战3.1、准备工作3.2、流控规则快速失败Warm Up匀速排队 3.3、热点key限流3.4、降级规则3.5、系统规则 四、…

自定义组件3-behaviors

1、behaviors是小程序中用于实现组件间代码共享的特性&#xff0c;类似于Vue.js中的mixins 2、behaviors的工作方式 每个behaviors可以包含一组属性、数据、生命周期函数和方法。组件引用它时&#xff0c;它的数据和属性和方法会被 合并到组件中。 每个组件可以引用多个behav…

Python采集知某专栏文章保存成pdf

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 环境使用: Python 3.8 Pycharm wkhtmltopdf 软件 文末名片获取 模块使用: requests >>> pip install requests 数据请求 parsel >>> pip install parsel 数据解析 re >>> 内置模块 不…

【年度最强超级Ai让你体验真正的人工智能】

年度最强超级Ai让你体验真正的人工智能&#xff08;破解版&#xff09; 登录就是永久会员&#xff08;先上链接&#xff0c;资源来源于网络&#xff0c;如有侵权&#xff0c;联系删除&#xff09; 网易邮箱&#xff1a; 23402001163163.com 我用蓝奏浏览器分享了[GPT-AI助手V1…

100 个 Go 错误以及如何避免:5~8

协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【OpenDocCN 饱和式翻译计划】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 真相一旦入眼&#xff0c;你就再也无法视而不见。——《黑客帝国》 五、字符串 本章涵盖 理解GO中…

Oracle执行计划管理 - SPM

https://blog.51cto.com/lhrbest/3246884 目录 Oracle优化器辅助手段的发展 SPM需求背景 SPM重要构成 SQL计划基准捕获 如何创建SQL计划基准 如何查看SQL计划基准 SQL计划基准选择 执行计划的三个属性 如何选择SQL计划 SQL计划基准发展 SQL计划基准发展的三种选择 …