????д???????????????
???????????? ???????[ 2013/8/14 11:30:19 ] ????????
????????????????????????????????????????????к??????????????????100?????????????????101?????????101?????????????????????????????????????????????????ζ?????????101????????????????檔??????????????????????????????????????????????????????????滹??????????????????????????????????????????????飬??Ч???????????????????????????????????????????????????????????????л?????β????????????????o??????????л???????????????while(1)???????????????е?OSTimedly()????????????????????????????????????????ж??и???????????????????????????????0????????????????????????????????????С????????????????????????????????????????????????????ж???????????????????????
	/*
	 *????????????????ж??е???
	*/
	void  OSTimeTick (void)
	{
	    int8 index;
	    TCB  *pTCB;
	    uint8 flagFirstTask=0;
	    OS_CPU_SR  cpu_sr = 0;
	    OS_ENTER_CRITICAL();
	    /*?????*/
	    OSNewTCB = NULL;
	 /*???????*/
	    if (OSScheLock != 0)
	    {
	       OS_EXIT_CRITICAL();
	       return;
	    }
	 for (index = 0;index < TaskNUM;index++)
	 {
	     pTCB = OSTCBTable+index;
	    /*???????????????????????????--*/
	     if (pTCB->TCBDelay > 0)
	     {
	        pTCB->TCBDelay--;
	        continue;
	     }
	     /*??????????*/
	     if (pTCB->TaskStat == OS_Task_Pend)
	     {
	         continue;
	     }
	    /*???????????????????????????????*/
	   /* ????????????????????????*/
	  if (flagFirstTask==0)
	  {
	   /*?????????????????
	     ??????????????????*/
	     if (OSCurTCB->CurPriority < pTCB->CurPriority)
	     {
	        flagFirstTask = 1;
	        OSNewTCB = pTCB;
	        continue;
	     }
	    /*????????????????????*/
	    if (OSCurTCB->CurPriority > pTCB->CurPriority)
	   {
	       if (OSNewTCB == NULL)
	      {
	          flagFirstTask = 1;
	          OSNewTCB = pTCB;
	          continue  ;
	      }
	      else
	     {
	         flagFirstTask = 1;
	        continue  ;
	      }
	   }
	 
	   /*?????????????????
	     ????????????????????*/
	   if (OSCurTCB->CurPriority == pTCB->CurPriority)
	   {
	    /*?????????????????*/
	    if ((pTCB > OSCurTCB)||(pTCB == OSCurTCB))
	    {
	     flagFirstTask = 1;
	     OSNewTCB = pTCB;
	     continue  ;
	    }
	    /*??????????????????????
	      ?????????????????????????????????*/
	    if ((pTCB < OSCurTCB)&&(OSNewTCB == NULL))
	    {
	      OSNewTCB = pTCB;
	      continue;
	    }
	   }
	   continue;
	  }
	 
	 }
	 OS_EXIT_CRITICAL();
	}
??????ж???????????????????????????????ú??????????????????????????????????????????????????????????????????????? OSNewTCB = pTCB;????????????????????? OSNewTCB ??
	void SysTick_Handler(void)
	{
	 OSIntEnter();  //?????ж?
	 OSTimeTick();
	 OSIntExit();        //?????????л????ж?
	}
	/*
	*????ж???????
	*/
	void  OSIntEnter (void)
	{
	    if (NULL != OSCurTCB)
	   {
	        if (OSIntNesting < 255u)
	        {
	            OSIntNesting++;                      /* Increment ISR nesting level                        */
	        }
	    }
	}
	/*
	*?ж???????????????ж???????л?
	*/
	void  OSIntExit (void)
	{
	     OS_CPU_SR  cpu_sr = 0u;
	    if (NULL!= OSCurTCB)
	    {
	        OS_ENTER_CRITICAL();
	        if (OSIntNesting > 0u)
	        {                         
	            OSIntNesting--;
	        }
	        if (OSIntNesting == 0u)
	        {                        
	            /* ?????е??ж????????ж???????  */
	            if (OSNewTCB != OSCurTCB)
	            {
	              /* ?ж???????л?  */
	              OSIntCtxSw();  
	            }
	        }
	        OS_EXIT_CRITICAL();
	    }
	}
??????
					
					???·???
App??С????H5?????????????????Щ??
2024/9/11 15:34:34?????????????????????????
2024/9/10 11:13:49P-One ???????????????????????????????????????
2024/9/10 10:14:12???????????????????????????
2024/9/9 18:04:26??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44
					
			
								
								
								
								
								
								
								
								
								
								
				
sales@spasvo.com