Labview RT终端与Arduino串口高速通信求助~应该是比较进阶的问题吧。。

2019-07-17 10:41发布

各位大佬好,
我的目的是用Arduino采集IMU LSM6DS3的数据,然后通过串口发送给labview RT终端,我使用的是cRIO9039。我想做到实时的数据读取,并且采样率不低于200Hz,有一些问题想请教各位大佬。
目前出现的问题是:
1、我使用了115200的波特率,每次发送39个字节,这样限制了我的采样率,我希望能够达到200Hz以上的采样率,该如何做呢?
2、Arduino程序中采样率如何设置呢?我目前用了一个简单的delay(5),延时5ms。
2、在labivew程序中,一开始总是读取IMU FIFO中的数据,所以我的while定时循环是2ms,先将FIFO中读取完,然后每次读取的数据就是实时数据了。但是实际中纵使采用了定时循环,每个循环仍耗时8-14ms不等。如图。 11.jpg
3、有无其他更好方法实现我的功能呢?将IMU数据实时传输到cRIO,采样率不低于200Hz.
1.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
宁静致远。。
1楼-- · 2019-07-17 11:20
 精彩回答 2  元偷偷看……
shangxinol
2楼-- · 2019-07-17 11:59
串口波特率限制在115200,不能再高了。。
宁静致远。。
3楼-- · 2019-07-17 16:56
这个波特率应该够快的,只是在循环中用串口与PC通讯耗时确实是要这么多时间(你这还算快的了)。
宁静致远。。
4楼-- · 2019-07-17 17:07
你这个下位机的速率是够,我想你现在的瓶颈在labview运行串口通讯耗时相对太长,不满足200Hz的速度,你可以将数据放在串口中,一次读取上来,将串口中累积的数据做处理,转化为5ms一次的显示。

一周热门 更多>