当前位置: 首页 > 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;
}

相关文章:

  • Web前端VSCode如何解决打开html页面中文乱码的问题(方法2)
  • 【MySQL】数据库、数据表的基本操作
  • Python MNE-Python 脑功能磁共振数据分析
  • 第十五章,SSL VPN
  • 在 Spring Boot 中选择合适的 HTTP 客户端
  • React Native 前瞻式重大更新 Skia WebGPU ThreeJS,未来可期
  • CI/CD面试题及答案
  • WEB前端表单及表格标签综合案例
  • 青少年编程与数学 02-019 Rust 编程基础 03课题、变量与可变性
  • 禁止Pydda默认下载数据
  • 第四天 从CAN总线到Spark/Flink实时处理
  • 解构C++高级命名空间:构建空间作用域·控制兼容
  • 初等数论--欧拉函数积性的证明
  • 新闻发稿筛选媒体核心标准:影响力、适配性与合规性
  • 记录一次使用thinkphp使用PhpSpreadsheet扩展导出数据,解决身份证号码等信息科学计数法问题处理
  • 【MySQL】存储引擎 - FEDERATED详解
  • 笔记,麦克风的灵敏度
  • allure生成测试报告(搭配Pytest、allure-pytest)
  • 遗传算法(GA)
  • 第十六章,网络型攻击防范技术
  • 免费模板建设网站/关于软文营销的案例
  • 做网站不知道做什么内容的/软件开发公司排行榜
  • 甘肃网站建设公司/搜索排名广告营销
  • 网站 app/广告模板
  • 北京外贸行业网站建设/应用商店关键词优化
  • 网站设计美工要怎么做/爱站网关键词长尾挖掘