这段时间在进行蓝牙的项目涉及到与设备发送数据和接受数据的问题
接收数据是没问题的
但是在给蓝牙设备发送数据的时候怎么也会有回调
我们是按照协议上来的
关于 处理 通知监听 和 设备UUID名字等,最后终于找到问题的所在了
我们
// @,业务数据
// 1, APP发送数据采用Characteristics的UUID (0xfff3);
// 2,设备向手机APP发送数据采用Characteristics的UUID (0xfff2)
// 3,所以我们要遍历特征值,对FFF2进行数据订阅FFF3进行数据读写
首先对数据读写进行处理 然后在发送数据的时候
// 3.0给设备发送数据
Bytearray[] = {0x5A,0x12,0x00,0x6C};
NSData*data = [NSDatadataWithBytes: arraylength:sizeof(array)];
[selfwriteChar:data];
-(void)writeChar:(NSData*)data
{
[_discoveredPeripheralwriteValue:dataforCharacteristic:_writeCharacteristictype:CBCharacteristicWriteWithResponse];
}
标红部分注意 就是这句代码 搞死人 不要写成 CBCharacteristicWriteWithoutResponse
#pragma mark写数据后回调
- (void)peripheral:(CBPeripheral*)peripheral didWriteValueForCharacteristic:(CBCharacteristic*)characteristic error:(NSError*)error {
if(error) {
NSLog(@"Error writing characteristic value: %@",
[errorlocalizedDescription]);
return;
}
NSLog(@"写入%@成功",characteristic);
}