LPC1768 RIT定时器
时间: 2023-12-10 20:34:09 浏览: 116
重复中断定时器的操作-python实现删除文件中含“指定内容”的行示例
LPC1768是一款ARM Cortex-M3内核的微控制器,它具有多种定时器,其中包括RIT(Repetitive Interrupt Timer)定时器。RIT定时器是一种高精度的定时器,它可以在不使用CPU资源的情况下生成周期性中断。下面是LPC1768 RIT定时器的初始化和中断处理函数的代码:
```c
void Init_RITimer(void) {
LPC_SC->PCONP |= (1<<16); //打开RIT的外设时钟电源(注意有些外设默认就是开的,例如Timer0)
LPC_RIT->RICOMPVAL=PCLK0/200-1; //设置中断200Hz=5ms
LPC_RIT->RICTRL |= (1<<1); //使能RIT匹配清计数器
NVIC_EnableIRQ(RIT_IRQn); //使能RIT中断
}
void RIT_IRQHandler(void) {
LPC_RIT->RICTRL |= (1<<0); //toggle P2.2
LPC_GPIO2->FIOPIN ^= (1<<2);
}
```
在上面的代码中,`Init_RITimer`函数用于初始化RIT定时器,其中`LPC_SC->PCONP |= (1<<16)`用于打开RIT的外设时钟电源,`LPC_RIT->RICOMPVAL=PCLK0/200-1`用于设置中断200Hz=5ms,`LPC_RIT->RICTRL |= (1<<1)`用于使能RIT匹配清计数器,`NVIC_EnableIRQ(RIT_IRQn)`用于使能RIT中断。`RIT_IRQHandler`函数用于处理RIT定时器的中断,其中`LPC_RIT->RICTRL |= (1<<0)`用于清除中断标志位,`LPC_GPIO2->FIOPIN ^= (1<<2)`用于切换P2.2引脚的电平状态。
阅读全文