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

By 凯文 at 2021-07-18 • 0人收藏 • 478人看过
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.htmlayout.cn/t/299

你说的大牛是这个吗?

登录后方可回帖

登 录
信息栏
公告:
个人博客
专注分享
可在分享中适当提问
谢绝纯提问
否则不再提醒一律
删帖
谢谢合作!



本站域名:HtmLayout.Cn
aardio可以快速开发上位机,本站主要记录了学习过程中遇到的问题和解决办法及aardio代码分享

这里主要专注于aardio学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.

Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
本 站 主 站:Stm32cube中文网
Sciter中文在线文档Sciter在线学习文档
空间赞助:才仁机械
Loading...