首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

云台预置位,该如何解决

2012-04-02 
云台预置位请教一个问题,现在云台要从预置位1转到预置位2,在预置位2这里停顿10s,然后转到预置位1,在预置位

云台预置位
请教一个问题,现在云台要从预置位1转到预置位2,在预置位2这里停顿10s,然后转到预置位1,在预置位1这里停顿20s,再转到预置位2,如此循环下去,这个停顿时间怎么设置啊,能提供个思路吗?谢谢了!

[解决办法]

while(1)
{
  
1转到2
Sleep(10000)
2转到1
Sleep(20000)
 
}
[解决办法]

C/C++ code
// Timer 原理示例程序 // FreeFice 2012.3.29 本代码释放到公用域#include <iostream>#include <stdlib.h>#include <time.h>using namespace std;struct Timer{  volatile int t;  void(*OnTimer)();  int Set;  void Run(){if(t==Set){t=0;OnTimer();}};  };  void Fun1(){  cout<<"Fun1 Running"<<endl;}void Fun2(){  cout << "Fun2 Run"<<endl;}volatile long tm[10];void AddTimer(Timer *t){  for(int i=0;i<10;++i){    if (!tm[i]){      tm[i]= long((void*)t);      break;      }    }}void TimerRun(){  time_t tt=time(NULL),ts;  while(true){    ts = time(NULL);    if(ts-tt<1)continue;    tt = ts;    for(int i=0;i<10;++i)      if(tm[i]){        Timer *t = (Timer*)(tm[i]);        t->t++;        t->Run();        }    }}int main(){  Timer tm1={0,Fun1,10},tm2={0,Fun2,15};  for(int i=0;i<10;i++)    tm[i]=0;  AddTimer(&tm1);  AddTimer(&tm2);  TimerRun();  return 0;} 

热点排行