你现在位置:首页>技术论文>数据通讯>正文
闲话MODBUS通讯(3)
日期:2008-7-8 0:39:10 来源:本站整理  
点击: 作者:
点击【】放大字体.

关于MODBUS RTU的crc校验,在百度上居然发现某些网页给出的算法有误,真是晕,还好找到了两段程序,一个是lad写的(就是亿万论坛上有网友发的340做slave的例程)另外一个是scl写的,模拟了下发现结果是相同的,再对照算法看完程序心中有数了。

WWW_PL※CJS_COM-PLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

plcjs.技.术_网

WWcW_PLCJS_COM-PLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

plcjs.技.术_网

附crc-16的算法(应该是正确的,呵呵):
WWW_PL※CJS_COM-PLC-技.术_网

WWW_PLCJS@_COM%-PLC-技.术_网

①装入一个16位寄存器,所有数位均为1。
WW.W_PLCJS_COM-PLC-技.术_网

WW.W_PLCJS_COM-PLC-技.术_网

②该16位寄存器与开始8位字节进行"异或"运算。运算结果放入这个16位寄存器。
P.L.C.技.术.网——可编程控制器技术门户

WWW_PLCJS_COM-PLC-技.术_网

③把这个16寄存器向右移一位。
WW.W_PLCJS_COM-PLC-技.术_网

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

④若向右(标记位)移出的数位是1,则生成多项式1010000000000001和这个寄存器进行"异或"运算;若向右移出的数位是0,则返回③。
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW.PLCJS.COM——可编程控制器技术门户

⑤重复③和④,直至移出8位。
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW.PLCJS.COM——可编程控制器技术门户

⑥另外8位与该十六位寄存器进行"异或"运算。
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

P.L.C.技.术.网——可编程控制器技术门户

⑦重复③~⑥,直至该报文所有字节均与16位寄存器进行"异或"运算,并移位8次。
W1WW_P4LCJS_COM-PLC-技.术_网

⑧这个16位寄存器的内容即2字节CRC错误校验,被加到报文的最高有效位。
WW.W_PLCJS_COM-PLC-技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行