LPC1768定时器普通定时

//其他通道的基本定时功能都能在这里实现

void Time0Mr0Init(u32 arr,u32 psc)

{

     LPC_SC->PCONP |= (1<<1);                       //打开功率控制

     LPC_TIM0->TCR |= (1<<1);                       //复位定时器

     LPC_TIM0->MR0  = psc;                          //匹配寄存器与定时器计数器值相比较

     LPC_TIM0->IR  |= 0XFF;                         //清所有中断标志位

     LPC_TIM0->MCR |= ((1<<1)|(1<<0));              //MR0与TC值匹配时将产生中断,TC复位

     LPC_TIM0->PC = 0X00;

     LPC_TIM0->PR   = arr-1;                            //预分频

     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);            //清中断标志

 }

 

posted @ 2015-03-15 01:46  邓小俊  阅读(1387)  评论(0编辑  收藏  举报