串口高速数据采集的频率如何控制

2019-07-17 20:58发布

      请问大家做串口高速数据采集的时候一般怎么控制频率的,假设采样频率为500HZ,那么每间隔2ms就要采集一次,可是用等待或者等待下一个毫秒函数都会有误差,对于高速数据采集的时候好像不合适了,现在频率越做越高发现这个问题越来越突出,不知道遇到这样的问题,各位会如何保证采样频率的准确性。谢谢啦!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
luson_liu
2019-07-19 21:02
你的采样频率是500HZ了,即2ms采集一次数据,这个数据会暂时存储在串口的缓冲区中,一般串口的最大存储字节数为4096,一定要在字节数存储满之前,把数据捞走,否则会有数据丢失的情况。而你的捞取数据间隔为2ms,相当于采集的一次数据,不知道你这采集一次的数据字节数大小为多少?一般镭射数据都在8—16字节数,也就是说它采集一次,你捞取一次,这样缓冲区的字节永远不会溢出(最好用属性节点:端口字节数,端口有多少,我就一次捞多少)。如果一次采集的数据的字节数就大于4096,那么就要再降低捞取间隔时间(最低为1ms),如果还不满足,就请不要用串口采集了,请考虑用模拟量采集卡来收集数据。

一周热门 更多>