你好,对话框,
我问我的早些时候在一个线程但标记为解决可能没有被重新审视,我用的DA14580 SPS文件,我尝试使用继电器20字节每80毫秒。DA得到数据从主uC / UART并将其发送到手持设备上显示数据。我的问题是我的便携式接收的数据包的大小是不一致的——有时包有20字节的,但其他时候单身20字节传输之际,两个数据包或数据20字节宽,但发生了变化。
我发送20个字节/ UART / ~ 2毫秒的时间,所以应该有足够的时间对DA接收数据和发送它在下一个周期之前的数据。
我需要同样大小的数据包总是因为我的便携式应用程序期望他们是一致的。你知道可能会导致这个问题?
谢谢你!
svl0822
你好,你使用HW流量控制?和设备配置为中心(我假设把日期从一个主机单片机UART) ?
由于JE_Dialog
你好JE_Dialog,
我不使用HW流控制。我认为这没必要,因为我把所有我发送的字节数(祝福),但不同的是数据包大小,他们进来。
我用“设备”SPS DA14580项目。中央是我的主要芯片,DA14580只是充当bluetooth-serial接口。
svl0822
嗨svl0822,
你观察的对话框的预期行为串行端口服务。串口链接是完全异步的UART和数据包完整性是没有保证的,这当然从来没有意图。dsp实现优化的流媒体数据,并不是理想的适合您的应用程序。
从你的描述,你实际上是试图发送离散数据包——这正是英国电信智能的目的是。你应该实现一个自定义服务20字节大小的特征。每次你有20个字节准备BT传播,你应该继续和负载的特性(在关贸总协定数据库)。smartdevice(平板电脑、智能手机)实现更简单,而且保证了数据包完整性。您将使用关贸总协定通知确保20字节数据块发送到smartdevice每次你更新数据。
让我知道如果你需要实现一个自定义服务的更多信息。不像听起来吓人,这肯定会是一个更好的适合你的用例描述。代码的足迹也会小很多。
MHv_Dialog,
谢谢你的详细解释。你描述听起来是可行的。
有没有文档可以在实现一个自定义的服务吗?我看着软件开发指南,但它不详细。
我能使用SPS服务和“sps_server_task只添加一个新的特征。c”文件?同样,当你说“20字节宽特点”你的意思是有一个属性名为“大小”会长度20 ?我看着TX的声明固定长度的数据特征和属性,所以我看不到变化是来自哪里。你能帮我解释一下吗?
谢谢你的耐心。我新的祝福编程和不确定的基础知识。
嗨,也许你应该参考sample128或spotar服务。
你好,我是面对同样的情况,沟通与微观13字节数据包,发送/接收。单个包,一切工作正常情况下,在两个方向上,但最终分崩离析,我只包的一部分时接收通知已放入UART BLE缓冲区。如果有一种简单的方式暂停通知,直到全部13个字节收到UART,这将解决这个问题。TX_WAIT_LEVEL似乎暗示,但评论和/ /三包(20 + 2 * 27),没有进一步的解释。知道如果这是正确的方法吗?
嗨klim,我可以问在高层次上你想要实现什么?纯流媒体应用的dsp设计了:没有什么保护包的完整性——它只是填充缓冲区和传输。我在想如果有一个更简单的方法,是有帮助的,例如使用一个- b - 029建立一个简单的自定义配置文件来满足您的需求。如果需求方是路要走,我们可以看看你的问题关于添加TX_WAIT_LEVEL(半场进攻不是我们尝试过)。BR JE_Dialog
嗨JE_Dialog,
我的解决方案是继续流数据,但在我拆卸/装配包的应用。
我在包包括一个超时处理程序重新组装,如果一个给定的包需要太长时间来组装,然后我* *假设有问题保持BLE连接。
在这种情况下我再尝试发送/接收数据包,并最终失败的“沟通”失去了异常处理程序。
工作不错,如果以后我需要做更多的改变我会张贴在这里。
干杯,klim
嗨Klim,谢谢你让我们知道这个工作好…BR JE_DIalog apprecaite反馈