当前位置: 首页 > news >正文

读取传感器发来的1Byte数据:分低位先行和高位先行的处理方法

目录

一、写在前面

二、伪代码的逻辑实现

1、从高位到低位

2、从低位到高位


一、写在前面

在接收数据之前我们需要事先知道数据的发送规则,是高位先行还是低位先行,并按照规则接收数据,否则收到的数据很可能是错的

高位先行:先发数据位高的数据,

低位先行:先发数据位低的数据

从波形反推数据:高位先行波形从左往右看,数据从左往右写

从波形反推数据:低位先行波形从左往右看,数据从右往左写

二、伪代码的逻辑实现

1、从高位到低位

u8 Read_Byte()
{u8 tmp = 0x80;  //1000 0000u8 Byte = 0;for( tmp = 0x80; tmp > 0; tmp >>= 1 ){if( Read_Bit() == 1 )            //读取1Bit数据         Byte |= tmp; elsedata &= ~tmp;}return Byte;
}

2、从低位到高位

u8 Read_Byte()
{u8 tmp = 0x01;  //1000 0000u8 Byte = 0;for( tmp = 0x01; tmp < 0x80; tmp <<= 1 ){if( Read_Bit() == 1 )               //读取1Bit数据         Byte |= tmp;elseByte &= ~tmp;}return Byte;
}

http://www.xdnf.cn/news/358165.html

相关文章:

  • 【iptables】--命令基本使用
  • Web 架构之数据读写分离
  • 配置Java Selenium Web自动化测试环境
  • 5.0.5 变换(旋转、缩放、扭曲)
  • 云手机解决方案
  • 图像匹配导航定位技术 第 11 章
  • 蓝桥杯青少 图形化编程(Scratch)编程题每日一练——小猫的城堡
  • 电动汽车充换电设施可调能力聚合评估与预测 - 使用说明文档
  • Java设计模式全面详解:从基础到高级的23种模式简介
  • Vue 系列之:defineProps、defineEmits、...
  • vue3: pdf.js 2.16.105 using typescript
  • 字符函数和字符串函数
  • MKS RGA 校准调试MKS eVision和Vision 1000p RGA步骤(图文并茂)
  • 使用 Spring 和 Redis 创建处理敏感数据的服务
  • 4.2【LLaMA-Factory实战】金融财报分析系统:从数据到部署的全流程实践
  • 20250509 哲学上的真空和哲学上的虚无是一个概念吗
  • 量子计算在软件开发中的兴起
  • Baklib智能内容推荐中台是什么?
  • canvas坐标系转webgl坐标系
  • 数字化转型-4A架构之数据架构
  • selenium替代----playwright
  • XML Forms Data Format (XFDF) 工作原理、数据结构、使用场景以及与缓冲区的交互方式
  • 【身份证识别表格】批量识别身份证扫描件或照片保存为Excel表格,怎么大批量将身份证图片转为excel表格?基于WPF和腾讯OCR的识别方案
  • 从 JMS 到 ActiveMQ:API 设计与扩展机制分析(一)
  • 37-智慧医疗服务平台(在线接诊/问诊)
  • Windows系统下【Celery任务队列】python使用celery 详解(二)
  • Jsoup与HtmlUnit:两大Java爬虫工具对比解析
  • PostgreSQL逻辑复制(logic replication)
  • 《内存单位:解锁数字世界的“度量衡”》
  • TIME - MoE 模型代码 3.2——Time-MoE-main/time_moe/datasets/time_moe_dataset.py