威纶通官方论坛

“与51单片机通讯实例"的CRC校验适用于MT6070iH吗?

[复制链接]
发表于 2012-8-24 16:10:37 | 显示全部楼层 |阅读模式
我用的触摸屏是MT6070iH,与avr128进行通讯,因为本人对CRC检验不太明白,所以借用“与51单片机通讯实例"中生成CRC校验代码的算法,可是问题是:程序生成代码与触摸屏发送出来的CRC校验码不匹配,自然我用单片机发送的给触摸屏的回复数据也无法被触摸屏认可了。
    这个生成CRC校验码的算法适合MT6070iH吗?或是用的时候需要特别注意什么?
 楼主| 发表于 2012-8-24 17:07:50 | 显示全部楼层
解决了 我用的是MODBUS RTU,单片机接收到的数据后两个字节是CRC校验码,而“与51单片机通讯实例"程序中CRC似乎是一个字节的,crc16tem=crc16(CommBuf,CommIndex-1);所以我把计算CRC函数中的参数CommIndex-1改为CommIndex-2就可以了。但是还是想问一下,以防下次又出问题。我也打开了“与51单片机通讯实例"的project文件看了,用的也是MODBUS RTU,为什么跟我用的情况不一样呢?
发表于 2012-8-29 14:57:06 | 显示全部楼层
回复 2# 徐明明
与51通讯的CRC源码,其实和大家通用的CRC代码有些出入,仔细看CRC最后一句return语句就可以发现他的高低字节和通用的正好相反
发表于 2013-5-3 09:20:44 | 显示全部楼层
楼上高手啊!!
发表于 2015-2-2 22:02:04 | 显示全部楼层
好像那个例子有问题,crc 校验时与发送不一样,刚好又反了。我真不确定他是怎么能通讯上的。
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-11-29 05:35

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

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