LPC1768 定时器
时间: 2023-11-08 22:48:04 浏览: 228
LPC1768是一款由恩智浦(NXP)公司生产的64位微控制器,它具有强大的功能和丰富的外设接口。在LPC1768中,它提供了多个定时器模块,用于生成各种定时和计时功能。
LPC1768的定时器模块包括四个通用定时器(Timer0-3)和一个系统定时器(SysTick)。其中,通用定时器具有多种工作模式,包括定时器模式、计数器模式和捕获/比较模式,可以用于产生中断、PWM信号、测量脉冲宽度等应用。SysTick定时器是一个24位倒计时定时器,用于系统时钟节拍生成和延时等功能。
你可以通过配置LPC1768的定时器模块来实现各种定时任务和计时功能。具体的配置方法和使用细节可以参考LPC1768的技术手册和相关资料。
相关问题
LPC1768 定时器优先级
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的定时器的中断优先级了。
LPC_TIM0->MR0 = 200000000;LPC1768定时器是几秒循环
LPC1768定时器的循环时间取决于时钟源的选择和预分频系数的设置。如果时钟源选择为内部PCLK,则定时器的时钟频率等于PCLK频率,通常为72MHz。如果预分频系数设置为1,则定时器的计数频率也为72MHz。因此,要计算定时器的循环时间,可以使用以下公式:
循环时间 = (MR0 + 1) * 预分频系数 / 定时器时钟频率
假设预分频系数为1,MR0为200000000,则循环时间为:
循环时间 = (200000000 + 1) * 1 / 72000000 ≈ 2.78秒
因此,LPC1768定时器将在约2.78秒后循环。请注意,由于定时器的计数值从0开始,因此在MR0设置为200000000时,实际上会发生200000001个计数,因此公式中的MR0需要加1。
阅读全文