串口数据字节位的理解

 # STM32F4xx系列的MCU的UART数据字节组成如下图

 

 

# 发送数据做如下图示,data byte MSB 与 Parity 重合

  # 先刨去 Parity bit,分析 LSB ~ MSB 的纯数据:

    > 假定数据中的 ‘1’ 个数为奇数,偶校验:Parity = ‘1’,奇校验:Parity = ‘0’

    > 假定数据中的 ‘1’ 个数为偶数,偶校验:Parity = ‘0’,奇校验:Parity = ‘1’

  # 将Parity bit 写入 MSB 位置做替换,这可以理解为编码的过程

 

# 接收端收到数据后作解码操作

  根据 Parity bit 的值 + 奇偶校验方式 + data( LSB ~ bit6 ) => 算出 MSB 的值,这其实就是发送过程组合数据的逆过程

 

# 目的

  学习这种数据的组装方法,在增加了校验功能的情况下字节数据长度没有改变

 

转载于:https://www.cnblogs.com/skullboyer/p/8929903.html

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

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

相关文章

RabbitMQ消息确认机制

文章目录1. 事务机制2. Confirm模式2.1 生产者2.1.1 普通Confirm模式2.1.2 批量Confirm模式2.1.3 异步Confirm模式2.2 消费者3. 其他消费者如何确保消息一定能够消费成功呢?由于在前面工作队列模式里面我们了解了应答模式,所以我们可以很自信的回答如上题…

工作292:数据绑定逻辑处理

},confirmAssociation() {if(this.selected!"") {putAction(this.url.put / this.task_id /bound, {content_id: this.selected}).then(res > {this.$message.success("绑定成功");this.$emit("ok")this.$refs["dialog"].close(…

工作293:调节删除顺序删除

}this.$confirm(您确定删除吗?, 提示, {confirmButtonText: 确定,cancelButtonText: 取消,type: warning}).then(res>{this.loadingtruedeleteAction(path.join(this.url.delete, record.id))/* this.list()*/this.reload()this.$message.success("删除成功");th…

RabbitMQ消息幂等性问题

文章目录1. 什么是幂等性?1.1 消息队列的幂等性1.2 模拟重试机制1.2.1 生产者代码1.2.2 消费者代码1.2.3 消费者 application.yml 配置2. 如何保证消息幂等性,不被重复消费?解决方法1. 什么是幂等性? 在编程中一个幂等操作的特点是…

JAVA面向对象明星类

public class _01Celebrity{//属性public String name;public int age;public double height;public char gender;//构造器public _01Celebrity(String name,int age,double height,char gender){this.name name;this.age age;this.height height;this.gender gender;}//方…

工作287:命名报错

return:{data:{account_id: ,BindData: [],RomoteData:[],dialogVisible: false,ff_account_index: ,form:{},}},这种命名报错

Centos安装JDK(java环境)

王小私下问我 centos 中 jdk 怎么安装呀,所以再次整理了这篇基础环境搭建的文章。 1、创建java目录2、下载上传jdk3、解压jdk4、配置环境变量 1、创建java目录 首先我们创建java的安装目录 cd /usrmkdir javacd java 2、下载上传jdk 我们如上在 usr 目录下创建了 ja…

iOS用workspace和cocoapods管理多个项目

工作空间下多工程共享cocoapods第三方库的方法 引自 https://www.jianshu.com/p/e3cfae830985转载于:https://www.cnblogs.com/-WML-/p/8946370.html

工作288:根据时间戳处理接口

<template><div class"table-list-page"><div class"query-area"><el-date-pickerv-model"value1"type"daterange"range-separator"至"start-placeholder"开始日期"end-placeholder"结…

Centos7安装MySQL(多图)

文章目录一、在线安装1、替换网易yum源2、清理缓存3、下载rpm文件4、安装MySQL数据库二、本地安装1、上传MySQL安装包2、安装依赖的程序包3、卸载mariadb程序包4、安装MySQL程序包5、修改MySQL目录权限6、初始化MySQL三、启动MySQL1.1、在线安装方式启动MySQL1.2、本地安装方式…

ROS与Arduino学习(六)Logging日志

ROS与Arduino学习&#xff08;六&#xff09;Logging日志 Tutorial Level:客户端与服务器 Next Tutorial&#xff1a;小案例节点通信 本节较为简单告诉大家如何向系统发布日志信息。 Tips 1 日志信息发布 节点提供了五种日志消息&#xff0c;分别是debug、information、warn、…

工作289:js取整

只保留整数部分&#xff08;丢弃小数部分&#xff09; parseInt(5.1234); // 5 向下取整&#xff08;< 该数值的最大整数&#xff0c;和parseInt()一样) Math.floor(5.1234); // 5 向上取整&#xff08;有小数&#xff0c;整数部分就1&#xff09; Math.ceil(5…

读书笔记8-浪潮之巅(part3)

浪潮之巅 ——风险投资 《浪潮之巅》的前半部分列举了在现代史上举足轻重的几家大型科技公司的历史&#xff0c;虽说成功的公司各有各的绝招&#xff0c;但是读多之后又略显重复、无聊&#xff08;这不是说原书的内容、描述是无聊的&#xff0c;相反其中的每一篇都值得多次欣赏…

工作290:js日期操作

Js获取当前日期时间及其它操作 var myDate new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31…

lower_case_table_names=1 启动报错 mysql8.0

本文为采集文章&#xff0c;主博客地址&#xff1a;https://www.cnblogs.com/niceyoo 我们知道在 Linux 环境下默认是区分大小写的&#xff0c;所以我们需要改变这种默认方式&#xff0c;经过网上各种搜索后&#xff0c;基本就是清一色的修改 lower_case_table_names&#xff0…

微信小程序 weui 使用方法

https://github.com/Tencent/weui-wxss/ 下载地址用于小程序的https://github.com/Tencent/weui 下载地址用于H5 运用示例在下载文件的文件夹 weui-wxss-master\dist\example目录下小程序全局用法在app.wxss用import "weui.wxss"转载于:https://www.cnblogs.com/ch…

工作291:当前账号是否绑定操作

<template><el-dialogopen"open"title"绑定分发平台账号":visible.sync"dialogVisible"width"40%":before-close"handleClose"><el-form style"display: flex;justify-content: center;align-items: ce…

Redis之客户端连接方式

Reis的客户端连接方式有如下几种&#xff1a; 1.基本方式 /*** 简单基本方式调用*/Testpublic void test1JedisStandardClient() {Jedis jedis new Jedis("192.168.56.101", 6379);jedis.set("123", "first line is null");String valueString …

工作292:修改父子组件传值错误

[Vue warn]: Missing required prop: “title” 在写vue项目中&#xff0c;在子组件中通过props传值的时候&#xff0c;在父组件中没有定义的话就会看到类似的报错&#xff0c; 这个意思是calendar这个组件中通过props传递一个title属性给父组件&#xff0c;并且title属性是必…

MacOS下IDEA设置智能提示不区分大小写

本文只针对&#xff0c;IDEA-2019.2.3版本 目录地址&#xff1a; Edit -> General -> Code Completion -> Match case -> 勾选去掉 截图如下&#xff1a;