簡體   English   中英

iOS BLE藍牙8.1和更低版本的BLE訂閱的特征通知無響應

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM