gpt4 book ai didi

swift - 数据是否写入BLE 写入后返回特性

转载 作者:行者123 更新时间:2023-11-30 11:26:55 24 4
gpt4 key购买 nike

我有一个正在运行的 BLE 应用程序,它可以从扫描仪读取数据,并在读取开始之前将配置发送到扫描仪。我使用以下代码将字符串发送到扫描仪。

let configItem = "BD1"

let data = configItem?.data(using: String.Encoding.ascii)

peripheral.writeValue(data!, for: characteristic, type: .withResponse)

我在回调中打印特征名称和值

func peripheral(_:didWriteValueFor:CBCharacteristic:Error?)
{
let value = String(data: characteristic.value!, encoding: .ascii)!

print("Wrote characteristic value: " + value + "; for characterisitc: " + characteristic.uuid.description)
}

打印的值不是我写的配置数据,而是一些旧扫描仪读取的数据。令人惊讶的是,即使在应用程序关闭后,相同的旧读取数据仍然存在。

那么回调中发送的特征是否有效?它是否包含写入的数据?

最佳答案

事实证明,这是一个特定于设备的“功能”。扫描仪不会返回对特征写入的响应,但我仍然收到回电,因此数据已经过时。测试显示配置字符串从未到达扫描仪。这种情况的解决方案是发送数据“.withoutResponse”。

关于swift - 数据是否写入BLE 写入后返回特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50647688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com