Пример #1
0
__interrupt void Timer_A0 (void)//100ms
{
//P2OUT ^= 0x08;                            // Toggle P2.3 
//UartWriteStr("1234567890");// 
 //TACCR0 = 0;
    ProcessKey();
    if((TimerCtrl&0x01)&&(TimerCnt0!=0))//CH0
    {
        TimerCnt0--;
    }
    else
    {
      TimerCnt0 = 0;      
    }
 
    if((TimerCtrl&0x02)&&(XbeeBusy!=0))//CH1
    {    
        XbeeBusy--;
        if(XbeeBusy == 0)
          ClearRxd(); 
    }    
 
    if(TimerCtrl&0x04)//CH2
    {      
        if(TimerCntRun!=0)
        {
          TimerCntRun--;
        }
        else
        {
          TimerCntRun = 10;
         // TempFlag |= 0x01;//采集温度传感器-标记           
        }       
    }
  
    if((XbeeBusy==0)&&(RxdState))//判断接收数据完成
    {
      if(RxdCntOld!=RxdCnt)
        {
          RxdCntOld = RxdCnt;
        }
      else
        {
          MsgProcess();
          RxdCntOld = 0;
          RxdCnt = 0;
          RxdOk = 0;
          RxdState = 0;
         }
    }

/*-------------------------------------------  
    if(ActMsgCnt<(ED_Reg[ACT]*100))//Act.Msg----send  10*100*100mS=10SEC
    {
        ActMsgCnt ++;
    }
    else
    {
        ActMsgCnt = 0;
        ActMsgFlag = 1;
        //   P2OUT ^= 0x08;                            // Toggle P2.3 
    } */ 
/*-------------------------------------------*/ 
if(InitCnt<HoldReg[rST])//10Second
{
  InitCnt++;
}
else
{
  AppProcess();
  InitCnt = 0;
  InitFlag = 1;
} 
/*-------------------------------------------*/ 
}
Пример #2
0
int GTH::StartProcessFrame()
{
	check.time0 = check.timer.Tick();

	 






	 



	
	
	if( m_frameFlag )
	{
		if( FAILED( BeginScene() ) )
			return E_FAIL;
		
		ApplyTimeEnv();
		check.time1 = check.timer.Tick();

		WorldRenderBefore();
		check.time2 = check.timer.Tick();

		 
		CharacterFrame();
		check.time3 = check.timer.Tick();

		EntityFrame();
		check.time4 = check.timer.Tick();

		WorldRenderAfter();
		check.time5 = check.timer.Tick();

		CursorFrame();
		
		
		 
		g_ifMng->PrepareRender();
		g_ifMng->Render();

		RenderText();
		
		g_chatManager->Render(); 

	}
	check.time6 = check.timer.Tick();

	g_entityMng->Process( m_myCharacter->position , g_camera.m_position , m_frameFlag , g_camera.m_distance );
	g_itemMng->Process( g_camera.m_position , m_frameFlag );
	g_effectMng->Process( g_camera.m_position , m_frameFlag );
	
	switch( AppProcess() )
	{
	case false :
		break;
	case 2 :
		if( m_frameFlag )
			EndScene();
		return E_FAIL;
	}
	
	check.time7 = check.timer.Tick();
	
	WorldFrame();
	
	check.time8 = check.timer.Tick();
		
	if( m_frameFlag )
	{
		
		check.time9 = check.timer.Tick();
		EndScene();
		check.time10 = check.timer.Tick();
	}
	
	m_frameFlag++;

	return S_OK;
}