+ -
当前位置:首页 → 问答吧 → 高手,读文件函数放入定时器中,如何实现每隔一定时间读一次文件

高手,读文件函数放入定时器中,如何实现每隔一定时间读一次文件

时间:2011-12-06

来源:互联网


typedef struct tagMYDATA // 定义一个结构体类型
{
float datax[60];
float datay[60];
  float dataz[60];
} MYDATA; // MYDATA是struct tagMYDATA 别名
//
MYDATA mydata; //定义结构体变量
//
FILE *pFile=fopen("force.txt","r");
//
void ReadRecord(MYDATA *mydata)
{
 for(int i=0;i<30;i++)
  {
fscanf(pFile,"%f\n",&mydata->datax[i]);
  fscanf(pFile,"%f\n",&mydata->datay[i]);
  fscanf(pFile,"%f\n",&mydata->dataz[i]);
  }

}

   
  MYDATA mydata;
ReadRecord(&mydata);

}
这是我自己写的读文件中的数据 ,我想把 这个函数ReadRecord(&mydata);放入定时器中,希望每个固定时间读一次,不知为什么打不到效果,希望高手指点一下

作者: zhinengbiancheng   发布时间: 2011-12-06

怎么打不出效果?

注意你mydata变量的作用域的问题,确保有效

作者: VisualEleven   发布时间: 2011-12-06

// 只要在OnTime中读取就行了。
// 不知道你的代码是怎么写的?

作者: lfchen   发布时间: 2011-12-06

比如我在文件中写了1800个数据,每个1s钟读取90个数据,30s读完,可是我把那个ReadRecord(&mydata);
放入定时器中,只读了前90个数据。后面数据都没读,不知怎么回事。

作者: zhinengbiancheng   发布时间: 2011-12-06

定时器写法有问题,读90次可能已超过了时间间隔1s

OnTime
{
  //定时到达
  取消定时
  KillTimer(...)
   
  MYDATA mydata;
  ReadRecord(&mydata);
  //读完后重置定时器
  SetTimer(...)
   

}

作者: gameslq   发布时间: 2011-12-06

高手好主意 我去试一试

作者: zhinengbiancheng   发布时间: 2011-12-06