📄 timer-ucos.c
字号:
// Precise timer routines for LINUX (C) LGB & A'rpi/ASTRAL#include "mplaylib.h"#include "mplayertm.h"#include "config.h"const char *timer_name = "sleep ucos";extern void BUFF_TimeDly(unsigned int tm);extern int sthread_id;int usec_sleep(int usec_delay){// F("%d\n",usec_delay); //if(usec_delay < 1000) usec_delay = 1000; BUFF_TimeDly(usec_delay); }// Returns current time in microsecondsunsigned int GetTimer(void){ unsigned int dm[2]; JZ_GetTimer_20ms(dm); //printf("%d,%d,%d\n",dm[0],dm[1],dm[1]*1000000+dm[0]); return (dm[1]*20000+dm[0]);} // Returns current time in millisecondsunsigned int GetTimerMS(void){ unsigned int dm[2]; JZ_GetTimer_20ms(dm); return (dm[1]*20 + dm[0]/1000);} static unsigned int RelativeTime = 0;// Returns time spent between now and last call in secondsfloat GetRelativeTime(void){ unsigned int t,r; t= GetTimer(); r = t - RelativeTime; RelativeTime = t; return (float)r* 0.000001F;}// Initialize timer, must be called at least once at startvoid InitTimer(void){ GetRelativeTime();}#if 0void timer_main(){ float t=0; int t1; JZ_StartTimer(); InitTimer(); t1 = GetTimerMS(); while(1){ GetTimer(); t+=GetRelativeTime(); OSTimeDly(100); t1 = GetTimerMS(); printf("time= %d %d\r\n",(int)t,t1); }}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -