找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3565|回复: 7
收起左侧

逆向解析单片机串口校验算法,帧尾FC的前2个字节是怎么算出来的?

[复制链接]
ID:619688 发表于 2021-4-13 15:50 | 显示全部楼层 |阅读模式
300黑币
帮忙解析一下串口校验算法,看看帧尾FC的前2个是怎么算出来的,以下是单片机发出来的数据:
FD 88 01 01 00 00 00 00 00 00 00 8B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 91 FC
FD 88 01 01 04 00 00 00 00 00 00 8B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CA 9D FC
FD 88 01 01 08 00 00 00 00 00 00 8B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BE A8 FC
FD 88 01 01 0C 00 00 00 00 00 00 8B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 62 A4 FC
FD 88 01 01 04 00 00 00 00 00 00 88 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FB 00 BB FC
FD 88 01 01 40 00 00 00 00 00 00 8B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 FB 01 FC
FD 88 01 01 04 00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7C AB FC

最佳答案

查看完整内容

采用的是CRC-16/XMODEM校验方式,FD为帧头,不参于校验,数据位从88开始,FC为帧尾,前两位为校验码,高位在前,低位在后
回复

使用道具 举报

ID:247164 发表于 2021-4-13 15:50 | 显示全部楼层
梦想未央 发表于 2021-4-14 09:23
计算参考:【CRC笔记】CRC-16 XMODEM C语言实现  https://blog.csdn.net/u012028275/article/details/11206 ...

采用的是CRC-16/XMODEM校验方式,FD为帧头,不参于校验,数据位从88开始,FC为帧尾,前两位为校验码,高位在前,低位在后
验证.png
回复

使用道具 举报

ID:584814 发表于 2021-4-14 00:11 | 显示全部楼层
只能胡猜
回复

使用道具 举报

ID:319585 发表于 2021-4-14 07:11 来自触屏版 | 显示全部楼层
modbus算法,楼主详细了解一下。
回复

使用道具 举报

ID:247164 发表于 2021-4-14 09:15 | 显示全部楼层
采用的是CRC-16/XMODEM校验方式,FD为帧头,不参于校验,数据位从88开始,FC为帧尾,前两位为校验码,高位在前,低位在后。可以用在线校验查看,网址为:见下图
验证.png
回复

使用道具 举报

ID:247164 发表于 2021-4-14 09:23 | 显示全部楼层
计算参考:【CRC笔记】CRC-16 XMODEM C语言实现  https://blog.csdn.net/u012028275/article/details/112067463
回复

使用道具 举报

ID:905171 发表于 2021-4-14 09:23 | 显示全部楼层
应该是crc16 ,反推只能穷举咯。
回复

使用道具 举报

ID:619688 发表于 2021-4-14 09:56 | 显示全部楼层
梦想未央 发表于 2021-4-13 15:50
采用的是CRC-16/XMODEM校验方式,FD为帧头,不参于校验,数据位从88开始,FC为帧尾,前两位为校验码,高 ...

我昨天在网上查到了,也解也来了,是CRC16-CCITT算法,还是谢谢你,分给你了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表