【发布时间】:2018-06-28 19:43:28
【问题描述】:
您好,我正在开发一个通过蓝牙连接到提供 UART 串行连接的设备的 UWP 应用 (C#)。
问题是:
我根本无法理解通过 UART 串行读取蓝牙特性接收到的数据。 下图显示了我收到的数据示例:
如何尝试解码数据:
byte[] data = readData();
string s = Encoding.ASCII.GetString(data)
解释 UART 数据是否需要任何特殊编码?
【问题讨论】:
-
1.如果你不知道你的设备发送了什么? 2. 为什么你认为一定是字符串?
-
我实际上不知道它发送什么,所以我猜的是字符串。有没有办法找出来,因为它只是一些cheep是否站。
-
如果您没有该协议的文档,找出它发送的内容的唯一方法是将数据转储到文件中(作为原始字节,转储为 HEX 和 DEC 也不错)并与你知道的数据。如果是气象站,它应该发送温度、压力和可能的其他信息。所以原始二进制转储应该会有所帮助。
-
好的,谢谢你的提示!我猜这是某种二进制协议。我会尝试对其进行逆向工程。
-
这看起来非常像是由不匹配的波特率引起的垃圾。两边的波特率匹配吗?
标签: c# bluetooth uwp serial-port uart