【发布时间】:2014-03-26 01:36:02
【问题描述】:
我需要通过蓝牙串行链路传输多个 8 字节数据包。我正在使用 JY MCU 蓝牙串口模块。在 PC 端,我正在运行一个与 COM 端口通信的 C# 应用程序。
考虑到 115200 波特,每个 8 字节数据包应花费 8*8/115200 = 0.555 毫秒。
问题是每 4 个数据包中的一个需要 39 毫秒,这完全破坏了所有时间。
为了测量时间,我使用了 .net 框架的秒表组件。 C# 应用程序的输出:
样本 #583:39.126841990471 毫秒
样本 #584:0.7883273789593 毫秒
示例 #585:0.93885067781563 毫秒
样本 #586:0.884708368788226 毫秒
示例 #587:8.65278575619526 毫秒
示例 #588:1.05558303203074 毫秒
样本 #589:0.870116824511337 毫秒
样本 #590:0.888932236868378 毫秒
示例 #591:39.0876752137277 毫秒
示例 #592:1.02639994347697 毫秒
样本 #593:0.820198383564084 毫秒
样本 #594:0.960737994230964 毫秒
示例 #595:15.2051571125331 毫秒
注意每个样本包含8个字节的数据
【问题讨论】:
-
降低波特率会提高一致性吗?同样,当我切换到使用 bt 4.0 时,我注意到连接时间更好。您在主机和客户端上使用相同的 bt 版本吗?
-
这个模块的波特率不能用软件改变。我明天会去实验室看看一致性是否会改变。现在不太确定bt版本:(