问题描述
我正在使用蓝牙与 Modbus 协议进行通信,延迟约为 500-700 毫秒,而我预计延迟约为 40-50 毫秒。
以下是我正在执行的步骤:
-
我正在尝试发现 iPhone 中的硬件设备并与之建立连接。
-
一旦建立连接,我就得到了服务和特征列表。
-
现在,我正在尝试使用写入特性并在大约 500 毫秒内获得响应
谁能帮帮我?我被困在这里很糟糕。
这是我正在使用的代码块:
func peripheral(_ peripheral: CBPeripheral,didUpdateValueFor characteristic: CBCharacteristic,error: Error?) {
let df : DateFormatter = DateFormatter()
df.dateFormat = "E dd MMM yyyy HH:mm:ss.SSSS"
let dateString = df.string(from: Date())
print("...Getting Values.............\nTimeStamp: \(dateString)\n\n")
print("didUpdateValueFor ========> \(characteristic),\(String(describing: error))")
self.createPackage(type: .recieveResponse)
if let error = error {
print("Failed… error: \(error)")
}
}
func writeCharacteristicValue(peripheral: CBPeripheral,data: Data,char: CBCharacteristic,type: CBCharacteristicWriteType) {
peripheral.writeValue(data,for: char,type: type)
}
func writeDataToBlePeripheral(characteristic: CBCharacteristic,byteArray: [UInt8],connectedPeripheral: CBPeripheral) {
let bytes : [UInt8] = byteArray
let data = Data(bytes)
print(data)
let df2 : DateFormatter = DateFormatter()
df2.dateFormat = "E dd MMM yyyy HH:mm:ss.SSSS"
let dateString2 = df2.string(from: Date())
print("...Aftert data conversion Sending.............\nTimeStamp: \(dateString2)\n\n")
BLEManager.getSharedBLEManager().writeCharacteristicValue(peripheral: connectedPeripheral,data: data,char: characteristic,type: .withResponse)
let df1 : DateFormatter = DateFormatter()
df1.dateFormat = "E dd MMM yyyy HH:mm:ss.SSSS"
let dateString1 = df1.string(from: Date())
print("...After Sending.............\nTimeStamp: \(dateString1)\n\n")
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)