我是QT的新手,并参与了一个项目,在这个项目中,我们正在编写一个应用程序,通过X-Bee无线电从多个传感器接收数据。我一直在使用测试传感器和Arduino Mega ADK。Arduino设置为从传感器接收数据,然后通过串行端口将其转发到我的QT应用程序。
我目前能够接收此传感器数据,并正在努力正确地存储应用程序所需的数据。问题是,我希望接收一个“数据包”的数据,但似乎缓冲区有多个数据堆叠在一起,并准备读取。
如何让我的程序以10 at的频率读取一个完整的数据包。我一直在查看示例,但似乎没有一个示例处理以固定的速率接收数据。我只是想找一个教程或一些代码示例,显示如何在特定的时间间隔接收数据。
(我过去问过一些不好的问题,所以如果这个问题不好,请告诉我如何改进)
提前谢谢。
发布于 2017-02-25 00:33:48
听起来您需要控制数据的发送方式,而不是控制数据的接收方式。如果arduino一直在推送数据,那么尝试每100毫秒隔离这些“数据包”中的一个将变得更加笨拙。
因此,您需要让arduino每100毫秒发送一个数据包,并且您需要从Qt中准确读取每个“数据包”的字节数。如果你的“包”的大小是统一的和固定的,那么你可以使用一个静态的大小。如果不是,在每个“包”中的第一件事发送包的长度。
仍然有可能收到比你预期的更多或更少的数据,在这种情况下,你的责任是砍掉或附加,以便产生一个单独的“数据包”。
https://stackoverflow.com/questions/42443020
复制相似问题