云台预置位
请教一个问题,现在云台要从预置位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;}