NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

数组的先进先出怎么实现?

已解决!
转到解答
我的程序运行一次时间一秒钟,采样周期为12.8K,采集12800个数据,我对信号进行重采样,因此运行一次采集400个数据,我设置240000个存储区,也就是采集10分钟的数据,当程序运行十分钟之后,我将数组前400个数据删掉,然后在数组的最后面的400个数据写入最近重采样得到的数据。谁能帮帮忙,看看我的程序哪里有问题?谢谢。
0 项奖励
1 条消息(共 3 条)
5,390 次查看
解答
已被主题作者 青云 接受

你的程序算法本身没有问题,只不过在case结构中的真分支中,两次调用了删除数组元素节点。

第一个调用即是从0索引开始删除400个点,这是没有问题的。

第二个调用是在数组最后插入400个点,但是你的索引写的是400,这表示在数组开始400个点的位置插入,

而不是FIFO的原则(在尾部插入子数组),因此正确的应该是在240000-400=249600的位置插入就正确了。

因此你该修改自己的index。

2 条消息(共 3 条)
5,359 次查看
谢谢了。
0 项奖励
3 条消息(共 3 条)
5,357 次查看