s7-226的cpu准备去控制现代n100的变频器。变频器手册给出了通讯帧的格式,要附加crc码。并且在书末附了crc的产生方法,并举了例子。
产生方法是FFFF与数据异或,再右移一位,看最低位为
1时与给定多项式0xA001异或,为0继续右移。如此循环直至
数据处理完。但是最后它把crc寄存器中的值高8位与低8位交换
作为crc码。(疑惑之一)例子是这样给的,先与8位数据异或,
然后右移两位,判断低位,为1则与0xA001异或。与所有数据
循环完后交换高低8位。(疑惑2)。为什么它的例子与说法不一致呢?
而且为什么要交换高低8位?还有就是crc的码的生成方法是唯一的么?
象它这样的我还没有见过。是不是只要接收发送双方产生的crc码方法一致,
然后对比crc码只要一致就可以校验数据正确?我是要用plc去查询变频器的
参数,那么生成crc校验码的方法是不是要与它一致才能保证接收发送双方
数据传递的正确性?希望各位老师们看看给个意见。