云台预置位,该如何解决
云台预置位
请教一个问题,现在云台要从预置位1转到预置位2,在预置位2这里停顿10s,然后转到预置位1,在预置位1这里停顿20s,再转到预置位2,如此循环下去,这个停顿时间怎么设置啊,能提供个思路吗?谢谢了!
------解决方案--------------------
while(1)
{
1转到2
Sleep(10000)
2转到1
Sleep(20000)
}
------解决方案--------------------
请教一个问题,现在云台要从预置位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; }