一款好用的串口调试工具 JS 脚本 CRC校验回写给报文

一款好用的串口调试工具 JS 脚本 CRC校验回写给报文
在这里插入图片描述
软件下载链接链接:
https://download.csdn.net/download/weixin_41617063/85373149

// 入口函数
function Run() 
 {
  CRCWriteBack( 1); // 1 号报文 CRC 校验 填写给报文
 }

//获取 _num 行报文的16位CRC校验,校验参数参考函数内部参数 
function CRCCheck( _num ) 
{ 
  //CRC 16 计算初始化:
  // 参数依次为: 初始值,多项式,输入反向,输出反向,位宽,输出异或值
  //此参数仅支持16位位宽CRC校验  此参数为moudbusRTU 校验参数
  CRC.CrcInitDat(0xffff, 0x8005,true,true,16,0x0000);
   var myArray 
   myArray= My.GetSendBoxs(_num );
   var aa =myArray.substr(4, myArray.length-4);
   var type =myArray.substr(0, 3);
   //My.Print(aa);
   if(type == "ASC")
     return CRC.GetCrcStr(aa);
   else if(type == "HEX")
     return CRC.GetCrcByte(aa); 
   return "";
}

//获取 _num 行报文的16位CRC校验,并回填到报文中
function CRCWriteBack( _num ) 
{ 
  var crc =CRCCheck(1).toString("16"); 
      crc ="0000"+crc ;
      crc =crc.substr(crc.length-4, crc.length);
      My.WriteToSendBoxCK(_num, crc);
  
}


function byteArrayToString(arr) 
 { //16进制数组转换成数组字符串,用于串口的数据发送入口参数,数据校验入口参数
      var _strBytes="";
      if(typeof arr === 'string') {    return "";    }
      if(arr.length == 0) {    return "";    }
      for(i=0;i<arr.length;i++)
       {
          if(arr[i]<0 ||arr[i]>255 )  {    return "";    }
           var _hex ="0";
          _hex = _hex +arr[i].toString(16);
          _strBytes+=  " "+_hex.substr(_hex .length -2, _hex .length );

      }
    
   return  _strBytes;  

}

以上代码 复制到脚本编辑器中 ,点击脚本加载,然后单次运行脚本,CRC校验,会回写到校验一栏中。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值