恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

大端小端踩坑——协议结构体不能直接cast

  • 首页
  • 资讯中心
  • /
  • 大端小端踩坑——协议结构体不能直接cast

相关资讯

技术博客内容规范与专业领域聚焦指南 2026/8/1 11:13:15
SpringBoot+Vue家教管理系统架构设计与实践 2026/8/1 11:13:15
UE4中移植ShaderToy镜头光晕:从GLSL到HLSL的完整实战指南 2026/8/1 11:13:15

最新资讯

Android开发必备:ADB无线与USB连接抓取Logcat日志全攻略
海思、联咏、安霸视觉AI SOC深度对比:选型实战与避坑指南
PPT 插入网页、HTML 课件和小游戏:超链接、希沃与智演家 3 种方案对比
5分钟打造精简Windows 11:tiny11builder完全配置指南
告别2小时限制:Wand-Enhancer让你免费享受专业版游戏体验
三步解锁阿里云盘自动化:扫码获取Refresh Token的零基础指南

今日推荐

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

本周热门

G-Helper完整指南:免费开源工具彻底优化华硕笔记本性能
解决全部报错!OpenClaw Windows适配优化+网关修复教程
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

大端小端踩坑——协议结构体不能直接cast

发布时间:2026/8/1 11:18:15
大端小端踩坑——协议结构体不能直接cast 一句话: 大端协议的帧数据不能直接 cast 成结构体指针——ARM 是 Little-Endian读uint16会高低字节反转。正确做法是从字节数组逐字节提取。适合谁读串口/SPI/I2C 收到数据后直接*(uint16_t*)pBuf读值的嵌入式开发者。现象协议用 Big-Endian 传两字节的控制 ID。帧里是0x00 0x62十进制的 98。// 错误写法直接 cast 结构体 CTRL_MSG *pMsg (CTRL_MSG *)u8Frame; uint16_t id pMsg-control_id; // 读出来不是 98ARM 是 LE——低地址字节当低位。u8Frame[5]0x00、u8Frame[6]0x62→ LE 拼成0x620025088。完全不是 98。正确做法// 从字节数组逐字节提取 Big-Endian uint16 uint16_t id ((uint16_t)u8Frame[5] 8) | u8Frame[6]; // 0x0062 98不依赖处理器字节序。不管 ARM LE 还是其他 BE——手动拼接的结果是确定的。发送方向也检查发送代码通常已经是大端输出8 | 0xFF但如果是结构体赋值→memcpy 到发送 buffer——同样的坑。发送用pMsg-id 98; memcpy(buf, pMsg, len)→ 线路上收到的是 LE 序。有用的话点个收藏下次调试直接用。有问题欢迎评论区交流看到了都会回。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号