各位大佬,我想询问一个关于labview的蓝牙传输和监控的问题。我在stm32里面设置的发送间隔为1毫秒,然后通过蓝牙把数据发送到电脑的labview上位机,但是最后在波形图里面显示频率只有1s 20个左右。
后面试着排除了各种原因,发现蓝牙1秒传20个包,一个包里面有十几组数据,上位机虽然设置的1毫秒循环,但在一个包里面只读取了一个数据,然后其他数据都被废弃了,后面时间属于无数据传输循环停止,直到第二个包传入,然后又从第二个包里面只取了一个数据。
设置的每组数据传入字符串为E 数据1;数据2,数据3;数据4;数据5;数据6 e
我又怀疑是这个读取的字节总数有问题,检测了一下,这个字节总数,就从0~70循环跳,输出的字符串,也就是读取9组数据、4组数据、0 数据、0数据 然后又回到了0组数据跳动。
第三次我把总数据固定为20字节,传入的频率快了,大概5s能显示400个数据,试了一下输出的字符串变成了一组全的数据+另一组不全的数据传入;
后续把字节数调到低于20字节,就会出现每隔几组就会有一组读不出来,那组的里面也没有一组完整的字符串;
但是搞到着就不太明白怎么解决这个问题哇?
我想问问各位大佬,怎么才能让蓝牙传入一个数据包全部读取出来?
我开始想法是先创建一边暂存数据,把每次输入的每个包的数据存上,然后1毫秒的输出到处理,然后显示,但是想了半天没想明白怎么表述,想问一下各位大佬。能这么做吗,还是如何解决这个问题,感谢!
更多回帖