📄 time.txt
字号:
//========================================================================
//
// 系统的时钟滴嗒
//
// 注意:本函数内不可调用允许中断的宏,会导致中断嵌套,堆栈溢出
//========================================================================
inline static void Tick()
{
SystemTimeTick ++;
TaskCycleTick --;
if( TaskCycleTick <=0 )
{
// 任务周期到,置任务事件
CPUExitSleep();
HiHand.EventFlag |= EVENT_TASK_TIMEOUT;
TaskCycleTick = HiHandConfig.TaskCycleTick;
}
if( HiHand.State == HIHAND_INACTIVE )
{
InactiveTick --;
if(InactiveTick <= 0 )
{
// 睡眠时间结束,唤醒协议栈
CPUExitSleep();
HiHand.EventFlag |= EVENT_INACTIVE_TIMEOUT;
ActiveTick = HiHandConfig.ActiveTick;
return;
}
}
else
{
BYTE i;
ActiveTick--;
if(ActiveTick <= 0)
{
// 激活时间结束,协议栈转入睡眠
HiHand.EventFlag |= EVENT_ACTIVE_TIMEOUT;
InactiveTick = HiHandConfig.InactiveTick;
}
for( i =0; i < MAX_TIMER_NUM; i++ )
{
if(T[i].State == T_INUSE)
{
T[i].TimeOut --;
if(T[i].TimeOut == 0)
{
T[i].State = T_OVERFLOW;
}
}
}
#if USE_SOFT_WATCHDOG == 1
WatchDogTimer --;
if(WatchDogTimer == 0)
{
// 看门狗溢出
AdhocChangeState(AdhocError);
}
#endif
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -