LPC1768 定时器优先级
时间: 2024-01-27 22:15:03 浏览: 32
LPC1768的定时器优先级是通过NVIC(Nested Vectored Interrupt Controller)来设置的。在LPC1768中,有4个定时器(Timer0、Timer1、Timer2和Timer3),每个定时器都有自己的中断优先级。
要设置定时器的中断优先级,可以使用NVIC的相关函数。首先,需要包含LPC1768的头文件和CMSIS库文件:
```c
#include "LPC17xx.h"
#include "core_cm3.h"
```
然后,可以使用以下函数来设置定时器的中断优先级:
```c
void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority);
```
其中,IRQn是中断号,可以是以下值之一:TIMER0_IRQn、TIMER1_IRQn、TIMER2_IRQn或TIMER3_IRQn。priority是优先级,取值范围是0到31,其中0表示最高优先级,31表示最低优先级。
例如,如果要设置Timer0的中断优先级为2,可以使用以下代码:
```c
NVIC_SetPriority(TIMER0_IRQn, 2);
```
这样就可以设置LPC1768的定时器的中断优先级了。
相关问题
LPC1768 定时器
LPC1768是一款由恩智浦(NXP)公司生产的64位微控制器,它具有强大的功能和丰富的外设接口。在LPC1768中,它提供了多个定时器模块,用于生成各种定时和计时功能。
LPC1768的定时器模块包括四个通用定时器(Timer0-3)和一个系统定时器(SysTick)。其中,通用定时器具有多种工作模式,包括定时器模式、计数器模式和捕获/比较模式,可以用于产生中断、PWM信号、测量脉冲宽度等应用。SysTick定时器是一个24位倒计时定时器,用于系统时钟节拍生成和延时等功能。
你可以通过配置LPC1768的定时器模块来实现各种定时任务和计时功能。具体的配置方法和使用细节可以参考LPC1768的技术手册和相关资料。
LPC1768 RIT定时器
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引脚的电平状态。