收藏
回答

onBLECharacteristicValueChange不回调?

wx.notifyBLECharacteristicValueChange({
            deviceId: that.data.deviceId,
            serviceId: that.data.serviceId,
            characteristicId: that.data.notycharacteristicsId,
            statetrue,
            type:'notification',
            successfunction (res{
                console.log('使能成功', res);
                /* 设备返回值 */
                wx.onBLECharacteristicValueChange(function (res{
                    console.log(res,'设备返回值')
                    var length_hex = [];
                    var turn_back = "";
                    var result = res.value;
                    var hex = that.buf2hex(result);
                    console.log('返回的值', hex);
                    if (that.data.recv_string == true) {
                        /* 成功接收到的值的展示 */
                        that.setData({
                            recv_value: that.data.recv_value + hex
                        });
                        /* 接收成功的值的字节 */
                        var recv_number_1 = that.data.recv_number + hex.length / 2;
                        var recv_number = Math.round(recv_number_1);
                        that.setData({
                            recv_number: recv_number
                        });
                    } else {
                        console.log('设备返回来的值', hex);
                        var f_hex = hex;
                        var length_soy = f_hex.length / 2;
                        var length = Math.round(length_soy);
                        for (var i = 0; i < length; i++) {
                            var hex_spalit = f_hex.slice(02);
                            length_hex.push(hex_spalit);
                            f_hex = f_hex.substring(2);
                        }
                        console.log('length_hex', length_hex);
                        for (var j = 0; j < length_hex.length; j++) {


                            var integar = length_hex[j];    //十六进制
                            recve_value = parseInt(integar, 16);    //十进制
                            console.log('recve_value', recve_value);


                            turn_back = turn_back + String.fromCharCode(recve_value);
                            console.log('turn_back', turn_back);
                        }


                        console.log('最终转回来的值', turn_back)
                        var recv_number_1 = that.data.recv_number + turn_back.length;
                        var recv_number = Math.round(recv_number_1);
                        that.setData({
                            recv_number: recv_number,
                            recv_value: that.data.recv_value + turn_back
                        })
                    }
                });
            },


            failfunction (res{
                console.log('使能失败', res);
            }
        })

基础库2.25.3

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

1 个回答

  • Demons
    Demons
    2022-08-25

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2022-08-25
    有用
    回复
登录 后发表内容