-(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工具箱代码,但它位于目标c 或 swift 3 ,但我的项目位于 swift 2 。我尝试使用桥接头调用目标c方法,但总是返回0节奏。
答案 0 :(得分:0)
我不确定CharacteristicReader
的定义,但您可以尝试:
[CharacteristicReader readUInt8Value:&array];
cadenceValue = Int(array[0])
self.cadence.text = [NSString stringWithFormat:@"%d", cadenceValue];
以上假设调用readUInt8Value的结果被放入UInt8
个对象的数组中,并且cadence值位于数组的第一个字节中。您还可以尝试cadenceValue = Int(array[1])
或cadenceValue = Int(array[2])
等来检查其他字节中是否包含正确的值。