wx.BLEcharacterticValue+read 多次调用的问题?
目的:我要获取’0000FFF0-0000-1000-8000-00805F9B34FB’下FFF2和FFF6的特征值并赋值。
直接上代码:
// (function(){ //获取特征值 wx.getBLEDeviceCharacteristics({ deviceId, serviceId: '0000FFF0-0000-1000-8000-00805F9B34FB' , success: function (res1) { console.log( 'chara_res:' , res1) var charaArr = res1.characteristics[2] wx.onBLECharacteristicValueChange( function (res1) { var temp1 = ab2hex(res1.value) console.info( 'pfmc1:' , temp1) var power = (temp1[0] * 16 + temp1[1] * 1) //设置渲染层参数power _this.setData({ power, }) console.info( "hextodec:" , power) }) wx.readBLECharacteristicValue({ deviceId, serviceId, characteristicId: charaArr.uuid, success: function (res1) { console.log( 'readBLECharacteristicValue:' , res1.errCode) }, }) }, }) // })(); // (function(){ //获取特征值 wx.getBLEDeviceCharacteristics({ deviceId, serviceId: '0000FFF0-0000-1000-8000-00805F9B34FB' , success: function (res2) { console.log( 'chara_res:' , res2) var charaArr = res2.characteristics[6] // console.info('charaarr:', charaArr) wx.onBLECharacteristicValueChange( function (res2) { var temp2 = ab2hex(res2.value) console.info( 'pfmc2:' , temp2) var interval = (temp2[0] * 16 + temp2[1] * 1) //设置渲染层参数interval _this.setData({ interval, }) console.info( "hextodec:" , interval) }) wx.readBLECharacteristicValue({ deviceId, serviceId, characteristicId: charaArr.uuid, success: function (res2) { console.log( 'readBLECharacteristicValue:' , res2.errCode) }, }) }, }) // })(); |
1、日志打印输出了两次pfmc2:???---------------------------------------------------------------
理论上应该输出pfmc1:第一次数据;pfmc2:第二次数据。
应该怎么修改可以分别获取FFF2,FFF6的特征值数据并赋值?