LPC1788实现10ms单位的计数器

   利用LPC1788的定时器0实现10ms单位的计数器,即每10ms计数增加1.

  

初始化定时器0 

init_timer(1,599990); //10ms为单位 599990=10(60000000/1000-1),LPC1788工作在120MHZ,经PLL分频后的外设时钟PeripheralClock为60MHZ

函数原型:

uint32_t init_timer ( uint8_t timer_num, uint32_t TimerInterval ) 
{

	timer0_counter = 0;
	LPC_SC->PCONP |= (0x01<<1);
	LPC_TIM0->MR0 = TimerInterval;
	LPC_TIM0->MCR = 3;				/* Interrupt and Reset on MR0 */
	NVIC_EnableIRQ(TIMER0_IRQn);
	return (TRUE);
}


使能定时器

	LPC_TIM0->TCR = 1;

定时中断处理

void TIMER0_IRQHandler (void) 
{  
  LPC_TIM0->IR = 0x1<<0;		/* clear interrupt flag */
  timer0_counter++;
  return;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值