分享一个 大牛的代码就是MODBUS 的CRC16的校验程序!

By 凯文 at 2021-07-18 • 0人收藏 • 1080人看过
import console; 
//计算modbus的CRC16校验值
var modbus_calc_CRC=function(pucCommandData, ucCommandLen){
    var usCRC = 0xFFFF;
    var i,j;
    for(i=1; ucCommandLen; 1){
        usCRC ^= pucCommandData[i];
        for(i=1; 8; 1){
            if (usCRC & 1)
            {
                usCRC >>= 1;
                usCRC ^= 0xA001;
            }
            else
            {
                usCRC >>= 1;
            }
        }
    }
    //低字节在前
    pucCommandData[ucCommandLen + 1] = usCRC&0x0ff;
    //高字节在后
    pucCommandData[ucCommandLen + 2] = (usCRC >> 8) & 0x0ff;
    return pucCommandData;
}
//举例
var tab = {0x12; 0x22};
//计算
var ret = modbus_calc_CRC(tab, #tab);
for(i=1; #ret; 1){
    //输出结果
    console.log( string.format("%02X", ret[i]) );
}
 
console.pause(true);


1 个回复 | 最后更新于 2021-07-18
2021-07-18   #1

https://www.chengxu.xyz/t/299

你说的大牛是这个吗?

登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...