西门子电机试验台架,想发送的报文里有个信号是checksum,需要如何配置让它不断发送并跳变,我目前的经验只会输出给定值。
1条回答 默认 最新
关注 【相关推荐】
- 这篇博客: js 进制算法、大小端转换、校验等物联网算法组件中的 三、CheckSum算法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
export default { // 以数组形式推送,数组中是十进制数 checksum(num) { // 打印数组 console.log(num) var sum = 0 // 十进制计算和是否大于255 for (var i = 0; i < num.length; i++) { num[i] = parseInt(num[i]) sum = sum + num[i] } console.log(sum) if (sum <= 255) { console.log(scale.switch_sl(sum, 16, 2)) return scale.switch_sl(sum, 16, 2) } if (sum > 255) { // 取反 console.log((sum).toString(2)) var a = (sum).toString(2) + "" a = a.replace(new RegExp("0", ("gm")), "2") a = a.replace(new RegExp("1", ("gm")), "0") a = a.replace(new RegExp("2", ("gm")), "1") console.log(a) // 算法转10进制+1 var b = parseInt(a, 2) + 1 console.log(b) var c = (b).toString(2) console.log(c) // 再判断下是否满8位数 if (c.length <= 8) { var d = parseInt(c, 2) console.log(d) var m = scale.switch_sl(d, 16, 2) console.log(m) return m } if (c.length > 8) { var f = c.slice(-8) var e = parseInt(f, 2) var n = scale.switch_sl(e, 16, 2) console.log(n) return n } } }, }
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报- 这篇博客: js 进制算法、大小端转换、校验等物联网算法组件中的 三、CheckSum算法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
悬赏问题
- ¥15 平板录音机录音问题解决
- ¥15 请问维特智能的安卓APP在手机上存储传感器数据后,如何找到它的存储路径?
- ¥15 (SQL语句|查询结果翻了4倍)
- ¥15 Odoo17操作下面代码的模块时出现没有'读取'来访问
- ¥50 .net core 并发调用接口问题
- ¥15 网上各种方法试过了,pip还是无法使用
- ¥15 用verilog实现tanh函数和softplus函数
- ¥15 Hadoop集群部署启动Hadoop时碰到问题
- ¥15 求京东批量付款能替代天诚
- ¥15 slaris 系统断电后,重新开机后一直自动重启