news 2026/7/29 9:23:58

串口CRC累加和手工算——不用查表不用库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
串口CRC累加和手工算——不用查表不用库

一句话: 累加和 CRC = 0xFF - 所有字节的累加和的低 8 位。接收端累加和 + CRC == 0xFF 就是正确帧。手工写测试命令时不用跑代码算——一张纸上加加减减,五秒出 CRC。

适合谁读:用串口助手调试协议、手工算 CRC 总算错的嵌入式开发者。

公式

CRC = 0xFF - (Byte1 + Byte2 + ... + ByteN) 的低 8 位

例子

发命令:73 74 00 04 07 01 01

累加和 = 0x73 + 0x74 + 0x00 + 0x04 + 0x07 + 0x01 + 0x01 = 115 + 116 + 0 + 4 + 7 + 1 + 1 = 244 = 0xF4 CRC = 0xFF - 0xF4 = 0x0B

完整帧:73 74 00 04 07 01 01 0B 0D 0A

接收端验证

接收到的所有数据字节累加 + CRC = 0xFF → 帧正确

把整帧字节加起来(不含 CRC 和帧尾),加上 CRC 字节,结果 = 0xFF。不是 0xFF → 数据传输错误或手动算错了。

为什么用累加和不用 CRC16

累加和缺一个 bit 翻转可能检测不出来。但串口调试场景值在于快——不需要查表、不需要库、纸笔五秒算完。对可靠性要求高的场景用 CRC16 或 CRC32,串口助手测试用累加和够了。


有用的话点个收藏,下次调试直接用。有问题欢迎评论区交流,看到了都会回。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/29 9:23:28

智能快寄柜-05-+订单查看与取出 工单模块

一、全局公共支撑模块(所有订单流程依赖底层基础)1.1 接口鉴权与操作管控子模块订单查询、开门、补缴、临时开柜等变更类接口统一鉴权操作权限校验:区分订单状态控制可执行动作(已完成订单不可开门)敏感信息脱敏&#…

作者头像 李华
网站建设 2026/7/29 9:23:24

C++面向对象编程:从结构体到类的封装思想与实践

1. 从“过程”到“对象”:一次编程思维的范式跃迁刚接触C的朋友,尤其是从C语言转过来的,常常会卡在“类和对象”这个门槛上。这太正常了,因为这不仅仅是学一个新语法,更是一次编程思维的彻底转换。我当年学的时候&…

作者头像 李华
网站建设 2026/7/29 9:23:23

终极分屏游戏指南:如何用Nucleus Co-Op让单机游戏变多人派对

终极分屏游戏指南:如何用Nucleus Co-Op让单机游戏变多人派对 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 还在为单机游戏不支持本地…

作者头像 李华
网站建设 2026/7/29 9:23:22

AI工具提升文献综述效率:从检索到写作全流程解析

1. 文献综述写作的痛点与AI解决方案 写论文最让人头疼的环节是什么?十个研究生里有九个会告诉你——文献综述。这个看似简单的"前人研究总结",实际操作起来却像在迷宫里打转:海量文献读不完、关键观点抓不住、逻辑脉络理不清&#…

作者头像 李华
网站建设 2026/7/29 9:23:20

DIY口袋物理实验室:集成高精度时钟、激光测距与磁场检测

1. 项目缘起:为什么我们需要一个“口袋里的物理实验室”?几年前,我在一个创客社区里看到有人分享自己用Arduino做的简易磁场检测器,用来排查家里的电磁干扰源。当时我就想,如果能把几个基础物理量的测量功能集成到一个…

作者头像 李华