节点JS - 添加缓冲区值以创建校验和

时间:2017-03-10 23:47:53

标签: javascript node.js node-red

我正在处理一个节点红色应用程序的代码,我正在尝试生成数据校验和。

/* Get our global config object */
var conf = global.get("common");

/* Create our payload */
msg.payload = new Buffer([
    conf['head'], // Byte Header
    conf['reserved'], // Reserved Byte
    conf[msg.req.params.zone], // Zone Number
    conf['commonCommand'], // Command
    conf[msg.req.params.action], // Data
    conf['head'] + conf['reserved'] + conf[msg.req.params.zone] + conf['commonCommand'] + conf[msg.req.params.action] // Checksum
]);

/* Return the payload data */
return msg;

payload中的最后一行是校验和,它是所有其他字节的组合。

对于此示例,以下是以下字节:

  • conf ['head'] ='0x02';
  • conf ['reserved'] ='0x00';
  • conf ['zone'] ='0x01';
  • conf ['command'] ='0x04';
  • conf ['action'] ='0x20';
  • conf ['checksum'] =这应该是0x27(所有先前字节的组合)。

如何在这个例子中添加字节以满足0x27的校验和值?

0 个答案:

没有答案