//其他通道的基本定時功能都能在這里實(shí)現(xiàn)
void Time0Mr0Init(u32 arr,u32 psc)
{
LPC_SC->PCONP|=(1<<1); //打開功率控制
LPC_TIM0->TCR|=(1<<1); //復(fù)位定時器
LPC_TIM0->MR0=psc; //匹配寄存器與定時器計數(shù)器值相比較
LPC_TIM0->IR|=0XFF; //清所有中斷標(biāo)志位
LPC_TIM0->MCR|=((1<<1)|(1<<0)); //MR0與TC值匹配時將產(chǎn)生中斷,TC復(fù)位
LPC_TIM0->PC=0X00;
LPC_TIM0->PR=arr-1; //預(yù)分頻
LPC_TIM0->TCR=(1<<0); //啟動定時器
NVIC_EnableIRQ(TIMER0_IRQn); /* enable irq in nvic */
}
void TIMER0_IRQHandler(void)
{
if(LPC_TIM0->IR&0x01)
{
Time0Mr0CallBack;
}
LPC_TIM0->IR|=(1<<0); //清中斷標(biāo)志
}