LPC1768有4个定时器,定时器可以用作时间间隔定时器、外部捕获输入、自由运行的定时器。4个定时器最少有2路个设置为捕获和匹配输出,其中定时器2可以设置4个通道匹配输出。
/************************************************************************************************
函数名: void TIMER0_IRQHandler (void)
函数功能:定时器中断服务函数
参数:无
返回值:无
*************************************************************************************************/
void TIMER0_IRQHandler (void)
{
if(Chip_TIMER_MatchPending(LPC_TIMER0,0)){//判断定时器0 MR0中断
Chip_TIMER_ClearMatch(LPC_TIMER0,0);//清除定时0,MR0中断标志
LPC_GPIO2->PIN ^= 0xff;
printf("定时器一秒中断");
}
}
/********************************************************************************************
函数名称:TIMR_init()
函数功能:定时器初始化
参数:定时器时间(单位s)
返回值:无
*********************************************************************************************/
void Time_Init(uint32_t psc)
{
// 第一步 设置外设功率时钟
Chip_TIMER_Init(LPC_TIMER0);//设置外设功率
// 第二步 复位定时器0
Chip_TIMER_Reset(LPC_TIMER0);//复位定时器0
//第三步 设置匹配值0 的值
Chip_TIMER_SetMatch(LPC_TIMER0,0,(100000000/4)*psc-1);//设置匹配值
// 第四步 设置 定时器0,MR0中断
Chip_TIMER_MatchEnableInt(LPC_TIMER0,0);//设置and定时器中断
//第五步 设置定时器0 mR0匹配时复位
Chip_TIMER_ResetOnMatchEnable(LPC_TIMER0,0);//设置定时器MR0复位
//第六步 使能定时器0
Chip_TIMER_Enable(LPC_TIMER0);//使能TIMER0
//第七步 使能定时器0中断
NVIC_EnableIRQ(TIMER0_IRQn);//使能中断
}
【08】LPC1768_定时器实验.rar
(252.28 KB, 下载次数: 12)
此内容由EEWORLD论坛网友cxmdz原创,如需转载或用于商业用途需征得作者同意并注明出处