我一般都懒得校验,只用截取中间数据用![]() ![]() ![]() |
谢谢分享,有时间实验一下 |
四年后的今天,这段代码又在我的程序里跑起来了 |
嗯,CRC学习了。 |
谢谢指点,学习中。 |
aking991 发表于 2020-6-23 08:35 才想起来,我这段程序还真没在中断里计算CRC,麻烦下载一下好好看看......中断里只是判断了三个HEX的包头和包尾......CRC计算是在主循环里计算的,因为包头包尾都不参与计算,还要有一个去包头包尾的过程...... |
校验这方面是不断学习别人的经验,一滴滴积累起来的。谢谢分享 |
aking991 发表于 2020-6-23 08:35 这个例程里的接收包长是固定的,所以没有考虑那么多。而且主要是提供一个基础函数,具体到做产品里使用还得看个人积累。 |
建议不要在串口中断里进行这些相关计算,如果碰到超长帧或高波特率通讯时的接收可能会受影响,应在接收中断中先缓存,缓存完了再去主函数中进行计算,这样才有保证完整性,只是建议 |