收藏
回答

writeBLECharacteristicValue的value值如何传多个字节的十六进制的值?

例如:AA 01 00 06  0C  01  02 00 08  00 01 01这样十六进制的值,我是要一个一个拼接的起来的,拼接成字符串似乎不行啊

回答关注问题邀请回答
收藏

1 个回答

  • 风禾
    风禾
    01-28

    var data = [0xAA, 0x01, 0x00];

    var buf = new ArrayBuffer(data.length);

    var dataView = new DataView(buf);

    data.forEach(function (item, index) {

    dataView.setUint8(index, item);

    });

    buf就是你想要传的值

    01-28
    有用 1
    回复 8
    • 苹果皮
      苹果皮
      01-28
      额,我按照格式传了,但是onBLECharacteristicValueChange一直都没有数据返回,请问是我写的有问题吗,notify都确定是打开了的
      01-28
      回复
    • 风禾
      风禾
      01-28回复苹果皮
      把onBluetoothAdapterStateChange写在notifyBLECharacteristicValueChange前面试一下
      01-28
      回复
    • 苹果皮
      苹果皮
      01-28回复风禾
      onBluetoothAdapterStateChange不会触发啊
      01-28
      回复
    • 风禾
      风禾
      01-28回复苹果皮
      我的意思是,wx.onBluetoothAdapterStateChange(function (res) {
        console.log('adapterState changed, now is', res)
      }); 独立写在外面,不要写在写入成功的回调里面
      01-28
      回复
    • 风禾
      风禾
      01-28回复苹果皮
      说错了,是onBLECharacteristicValueChange写在外面
      01-28
      回复
    查看更多(3)
登录 后发表内容
问题标签