我是QT的新手,参与了一个项目,我们正在编写一个应用程序,通过X-Bee无线电从多个传感器接收数据。我一直在使用测试传感器和Arduino Mega ADK。 Arduino设置为从传感器接收数据,然后通过串口将其转发到我的QT应用程序。
我目前能够接收此传感器数据,并且正在努力正确存储数据以满足应用程序的需求。 问题是我希望收到一个“数据包”的数据,但看起来缓冲区有多个数据堆叠起来并准备好读取。
如何让我的程序以10Hz读取一个完整的数据包。我一直在查看这些示例,但它们似乎都没有处理以固定速率接收数据的问题。我只是在寻找一个教程或一些代码示例,展示如何以特定间隔接收数据。
(我过去曾问过一些不好的问题,所以如果这个问题不好,请告诉我如何改进)
提前致谢。
答案 0 :(得分:0)
听起来您需要控制数据的发送方式,而不是控制数据的接收方式。如果arduino一直在不停地推送数据,那么尝试隔离其中一个"数据包"会更加尴尬。每100毫秒。
所以你需要让arduino每100毫秒发送一个数据包,从Qt你需要准确读取每个"数据包"是。如果你的"包"大小是统一的和固定的,那么你可以使用静态大小。如果没有,请在每个"数据包"。
中首先发送数据包的长度可能仍然可以接收比您预期的更多或更少的数据,在这种情况下,您有责任切断或附加以生成单个"数据包"。