如何解决将值写入BLE特性时响应缓慢目标C
我正在尝试使用Objective C和CoreBluetooth更新BLE设备上的特性。它可以工作(写入操作会导致设备上的LED亮起,因此我可以看到更新发生的时间),但是写入值和设备上的响应之间的延迟约为15到25秒(!)。>
我正在使用以下值写值:
[peripheral writeValue:data forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse];
15秒钟后,我得到didWriteValueForCharacteristic
的回叫。
我注意到,这似乎与我存储CBPeripheral
对象的方式有关。我认为这是因为,如果我尝试直接从CBPeripheralDelegate
(例如didDiscoverCharacteristicsForService
)中的回调函数之一(将外围设备作为参数传递)写入设备,则设备的响应是即时的。仅当我尝试使用存储的版本将值写入外围设备时,才会发生长时间的延迟。
我尝试将外围设备作为属性存储在数组中,并且尝试使用dispatch_async
通过队列执行写操作(因为写值的操作来自C ++程序中的用户界面操作)。
您对我为什么遇到这些问题有任何想法或建议吗?
谢谢, 亚当
p.s。我要写入的设备是micro:bit
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。