⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 time.txt

📁 wsn网络的系统的时间滴答
💻 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 + -