0
-(void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error
{
     dispatch_async(dispatch_get_main_queue(), ^{

         NSData *data = characteristic.value;
         uint8_t *array = (uint8_t*) data.bytes;

         cadenceValue = [CharacteristicReader readUInt8Value:&array];
         self.cadence.text = [NSString stringWithFormat:@"%d", cadenceValue];
         });
}

如何在swift 2中从bLE(蓝牙低功耗)设备获取节奏。我无法为此找到确切的代码。为此调用了委托方法。didUpdateValueForCharacteristic

我有一个 nRF Toolbox 的代码,但它在目标 cswift 3中,但我的项目在swift 2中。我尝试使用桥接头调用目标 c 方法,但它总是返回 0 节奏。

4

1 回答 1

0

我不确定 的定义CharacteristicReader,但您可以尝试:

[CharacteristicReader readUInt8Value:&array];
cadenceValue = Int(array[0])
self.cadence.text = [NSString stringWithFormat:@"%d", cadenceValue];

上面假设调用 readUInt8Value 的结果被放入UInt8对象数组中,并且节奏值在数组的第一个字节中。cadenceValue = Int(array[1])您还可以通过尝试orcadenceValue = Int(array[2])等​​检查正确的值是否在其他字节中。

于 2016-10-21T13:39:48.637 回答