gpt4 book ai didi

ios - Swift iOS BLE writeValue 发送一次数据

转载 作者:搜寻专家 更新时间:2023-11-01 06:20:55 26 4
gpt4 key购买 nike

一段时间以来,我尝试在 iPhone <-> Bluetooth 4.0 LE <-> PC 之间建立通信。在网上搜索我发现了很多在 Swift 中支持 BLE 的解决方案。我创建了一个小程序来检测 BLE 设备检测到的特性并能够将一些数据发送到 BLE 设备。此 BLE 设备通过 USB(COM 端口)连接到 PC。我使用 RX 和 TX 来读取和发送数据。

什么问题...检测并连接到 BLE 设备后,我尝试通过 BLE 设备从 iPhone 发送一个字符串以在 PC 上显示它。第一次尝试发送数据成功,来自 iPhone 的这个字符串显示在 COM 监视器中,但是当我再次尝试发送这个字符串时,数据没有到达。我注意到同样在重复 30 次之后,我要发送的字符串即将到来。然后我又必须重复发送 30 次,String 又来了。

我发送数据的代码

@IBAction func sendButtonAction(sender: AnyObject) 
{
let textToSend: String = "Some text"
let data = textToSend.dataUsingEncoding(NSUTF8StringEncoding)

let txcharact: CBCharacteristic = TXCharacteristic!

self.discoveredPeripheral?.writeValue(data!, forCharacteristic: txcharact, type: CBCharacteristicWriteType.WithResponse)
}

也许有人有类似的问题......请帮助对不起我的英语不好。

最好的问候休伯特

最佳答案

您对 CBCharacteristicWriteWithResponse.WithResponse 的使用特别要求确认成功或描述失败的错误。猜测是,它要么在等待您处理一个或多个先前的响应,要么(更有可能)给您一个您忽略的错误。它每 30 次尝试再次运行,这表明某些缓冲区已满,可能会重置连接或事务。

不要只是将代码示例复制/粘贴到您的项目中而不花时间阅读文档并准确理解该代码的作用。我从来没有用这个 API 做过任何事情,但在浏览了您的 write 调用文档后的 10 秒内,它就像一个大拇指一样刺痛了我。

关于ios - Swift iOS BLE writeValue 发送一次数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34398276/

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