关于通讯数据32位校验码的计算值

Keil 2021 2026-04-07 11:56:40

 

 

以上是上位机通讯数据流,发现有些32位校验码和我计算器计算的结果不一致.

雷达停止
命令:A5 0D 15 07 01 30 00 EA F8 FE CF, 32位校验码计算:15070130 + 00 = 15070130,取反:EAF8FECF, 数据结果对得上;
回复:A5 3D 12 07 04 00 00 EA F8 FE ED 0E 03 01 , 32位校验码计算:12070400 + 00EAF8FE = 12F1FCFE,取反:ED0E0301, 数据结果对得上;

雷达启动
命令:A5 ED 15 07 01 50 01 E9 F8 FE AF, 32位校验码计算:15070150 + 01000000 = 16070150,取反:E9F8FEAF, 数据结果对得上;
回复:A5 1D 12 07 04 20 00 E9 F8 FE ED 0F 03 E1 , 32位校验码计算:12070420 + 00E9F8FE = 12F0FD1E,取反:ED0F02E1, 数据结果对不上;

雷达休眠
命令:A5 DF 15 05 01 60 02 E8 FA FE 9F, 32位校验码计算:15050160 + 02000000 = 17050160,取反:E8FAFE9F, 数据结果对得上;
回复:A5 0F 12 05 04 30 00 E8 FA FE ED 12 01 D1, 32位校验码计算:12050430 + 00E8FAFE = 12EDFF2E,取反:ED1200D1, 数据结果对不上;
这里的校验数据就对不上了,是为什么?

...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

您好,32位取值高低byte有误,以您的数据流做正确演示如下:
雷达停止
回复:A5 3D 12 07 04 00 00 EA F8 FE ED 0E 03 01 , 32位校验码计算:00040712 + fef8ea00 = FEFCF112,取反:01030EED

雷达启动
回复:A5 1D 12 07 04 20 00 E9 F8 FE ED 0F 03 E1 , 32位校验码计算:20040712 + FEF8E900 = 1EFCF012取反:E1030FED

Keil 2021 04-10 13:09
  • 举报
回复
@Possumic正和微芯官方 哦哦,好的了解,感谢

163

社区成员

发帖
与我相关
我的任务
社区描述
欢迎来到正和微芯官方社区,这里是毫米波雷达技术爱好者、开发者、技术专家以及行业领袖的聚集地。我们致力于提供一个开放、合作、创新的交流平台,让每一位成员都能在这里找到价值、获得启发、实现成长。
硬件架构射频工程物联网 企业社区 广东省·珠海市
社区管理员
  • Possumic正和微芯官方
  • sblxk008
  • 波谱Sense
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧