rit*_*888 7 android bluetooth serial-communication data-stream
我正在开发一个应用程序,它从DAQ读取数据,通过蓝牙传输数据.数据包大小可以改变,采样率(1Hz - 512Hz)也可以改变,并且我能够使用缓冲器循环并从设备读取数据.
我的问题是,当数据包大小和采样率变化时,如何正确处理数据?如何确定缓冲区大小?
目前我只是打开一个套接字,打开一个输入流,然后使用while循环(当套接字打开== true)从流中读取并处理数据(简单解码,而不是一个无关的任务).
例如,数据包中有23个字节,此时我的采样率非常低,为1Hz.我有一个256字节的缓冲区,这意味着它不会在缓冲区的末尾容纳一个完整的数据包,并且我已经编写了代码以便它运行到下一个缓冲区.读取数据后,从缓冲区中获取一个数据包,进行解码并存储,执行下一个数据包等.
我应该如何流式传输,并正确操作数据?最终,我将在512Hz的44个数据包中抓取一些东西,正好在蓝牙传输限制,我希望能够尽可能有效地处理它,并在进程中丢弃数据包时显示错误等.
TL; DR:如何使用缓冲区和/或中断正确地传输数据.
| 归档时间: |
|
| 查看次数: |
1073 次 |
| 最近记录: |