Example #1
0
/***********************************************************
 *功能:	利用pit定时中断,模拟N路定时器,定时间隔1ms
 *形参:
 *			无
 *返回:
 *			无
 */
void SimulatTimerMsF_PIT_ISR()
{
	uint_8 i;
	
	if((PIT_TFLG(SimulatTimer_PIT_Tn) & PIT_TFLG_TIF_MASK) != 0)
	{
		PIT_Flag_Clear(SimulatTimer_PIT_Tn);
		for(i = 0; i < SimulatTimerMsCountN; i++)
		{
			if(SimulatTimerMsVal[i] . flag.ten == 1)	//使能
			{
				if(++ SimulatTimerMsVal[i].count == 0)	//溢出
				{
					SimulatTimerMsVal[i].flag.tov = 1;
				}
	                
				if(SimulatTimerMsVal[i].flag.tfc == 1)	//比较
				{
					if(SimulatTimerMsVal[i].count == SimulatTimerMsVal[i].cmr)
					{
						SimulatTimerMsVal[i].count = 0;
						SimulatTimerMsVal[i].flag.tcf = 1;
					}
				}
			}
		}
	}
}
Example #2
0
void pit0_isr()
{
  if(PIT_TFLG(PIT0) == 1)
  {
	if(++PIT_2msCount >= PIT_2MS_CONSTON)
	{             
		PIT_2msCount = 0;
		PIT_2msFlag = 1;
	}
	if(++PIT_5msCount >= PIT_5MS_CONSTON)
	{
		PIT_5msCount = 0;
		PIT_5msFlag = 1;
		PIT_steeringFlag = 1;
		PIT_motorFlag = 1;
	}
	if(++PIT_10msCount >= PIT_10MS_CONSTON)
	{
		PIT_10msCount = 0;
		PIT_10msFlag = 1;
                
	}
	if(++PIT_20msCount >= PIT_20MS_CONSTON)
	{
                
		PIT_20msCount = 0;
		PIT_20msFlag = 1;
	}
	if(++PIT_50msCount >= PIT_50MS_CONSTON)
	{
		PIT_50msCount = 0;
		PIT_50msFlag = 1;
                

	}
	if(++PIT_1sCount >= PIT_1S_CONSTON)
	{
							//每秒闪烁一下表示,PIT正常工作
		PIT_1sCount = 0;
		PIT_1sFlag = 1;
	}
	
    
  }
}
Example #3
0
//==========================================================================
//函数名称:pit0_isr
//功能概要:中断例程
//参数说明:无
//函数返回:无
//==========================================================================
void pit0_isr(void)
{
    //DisableInterrupts;	                                //关总中断
    PIT_TFLG(0) |= PIT_TFLG_TIF_MASK; //清中断标志
    Pit_update = true;

    Time_counter ++ ;


    if(Time_counter <= COUNTER)                      //数据初始化完成开始
    {
        ReadMPU3205();
        ReadBMA180();
        ReadMPUsteer();
        ReadBMAsteer();
        //read_hmc5883l();
        //read_L3G4200D();
        //read_ADXL345();
    }
}