[英]iOS BLE Bluetooth 8.1 and lower BLE subscribed characteristic notification no response
您好,我是iOS和目標c的新手,這是我的第一個應用程序,我不確定如何調試此問題。
該應用程序將二進制文件發送到STM芯片(通過BT更新固件)。 當我在ios9 iphone 6上運行我的應用程序時,它運行良好,沒有問題,STM芯片已刷新。 當我在iOS8或更低版本上運行該應用程序時,它不起作用。
信息流:中央發送特征X = 0x61中的字符
` _dataToSend1 = [@"a" dataUsingEncoding:NSUTF8StringEncoding];
[_discoveredPeripheral writeValue:_dataToSend1 forCharacteristic:_WriteChX type:CBCharacteristicWriteWithResponse];
[_discoveredPeripheral readValueForCharacteristic:_WriteChX];`
外圍設備應通過特征Y通知進行響應:
- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{
NSLog(@"Here");
if ([characteristic.UUID isEqual:[CBUUIDUUIDWithString:TRANSFER_CHARACTERISTIC_UUIDY]]) {
NSLog(@"Recived");
.
.{some other stuff}
.
}
在iOS 9上,我會收到通知,在較舊的版本上,程序會掛起,因為CHY沒有響應,如果在較舊的iOS上的調試控制台中向CHX寫入值時放了剎車點,它還可以嗎? 我真的不知道該如何調試...
編輯:這樣我就可以成功讀取已發送值61的特征X。 但似乎該設備未收到它。 如果我僅第二次發送相同的命令0x61,那么我會通過通知獲得正確的響應...所以我找到了解決方法,但沒有找到原因...
嘗試給寫和讀之間的時間間隔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.