static volatile uint8 _msec = 0xff,tick_cnt = 0,tick_HW_cnt=0;;
if (0xff == _msec)
{
_msec = 0;
last_tick = __sys_tick;
return;
}
static volatile 只在编译的时候调用一次 警告问题一定要想好再问,不然会很丢人的
void sys_tick(void *args)
{
#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register *///为CPU状态寄存器分配存储
// OS_CPU_SR cpu_sr = 0;
#endif
static volatile time_t last_tick;
time_t deltms;
static volatile uint8 _msec = 0xff,tick_cnt = 0,tick_HW_cnt=0;;
static volatile uint8 _sec = 0;
static volatile uint16 tick_5s_cnt=0;
if (0xff == _msec)
{
_msec = 0;
last_tick = __sys_tick;
return;
}
deltms = __sys_tick - last_tick;
notify(EV_1MS);
if(deltms >= 25)
{
notify(EV_25MS);
last_tick += 25;
tick_5s_cnt++;
if (tick_5s_cnt>=400)
{
notify(EV_5S);
tick_5s_cnt=0;
}
}
}