消息关闭
    暂无新消息!

求纠正翻译一段c语言的crc8算法

问题作者 : 卡巴2017-06-24发布

 (1)取第一个字节()CRC)  指针指向第一个数
(2) 建立一个字节数减1的循环
指针指向下一个字节
建立8次循环
(2)左移一位并和(下一字节msg右移7位的数)相或运算,更新CRC
(3)如果上次的CRC高位为1,则CRC还要异或7
(4)下一字节右移,重复(2)-(4),完成8位
}
}
下一循环:
(1)CRC左移1位
(2)如果之前CRC高位为1,则异或7
(3)重复完成8位
最后结果保留一字节.

2个回答

︿ 1
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

如果需要纯16位环境:
使用DoxBox