数据采集系统中,为了对齐其他通道的采集数据,有意延时40个点。本来打算用循环队列去实现数据延时40个点,实现起来比较麻烦。
基本思路是:建立一个长度40的数组,每次存某个索引的数时,先取出这个索引的数,这样天然利用数组长度构成延时。
void delay_40ms
{
static int index=0;
static float data_array[40]={0.};
data = data_array[index];
data_array [index]= GetData();
if(index>40) index = 0;
index++;
}