通用定时器A(GPTimer A)是一种通用系统定时器。
通用定时器A是一个高级外设总线(APB)的从设备。
- 24位递减定时器
- 自动重载
- 中断
- 用户可配置的递减计数值
- 输入时钟分频器
例1:定时中断
void configure_gptimera(void)
{
PAC55XX_GPTIMERA->CTL.DIV = GPTCTL_PS_DIV128; //PCLK 128分频
PAC55XX_GPTIMERA->CTL.CDV = 0xFFFFFF; //计数值,当此值到0触发中断并自动回装
PAC55XX_GPTIMERA->CTL.EN = 1; //使能定时器
PAC55XX_GPTIMERA->CTL.IE = 1; //定时器中断使能
NVIC_EnableIRQ(GPTimerA_IRQn);
NVIC_SetPriority(GPTimerA_IRQn, 1);
}
PAC5XXX_RAMFUNC void GPTimerA_IRQHandler(void)
{
if(PAC55XX_GPTIMERA->CTL.IF) //中断置位
{
PAC55XX_GPIOE->OUT.P1 ^= 1; //IO电平翻转
PAC55XX_GPTIMERA->CTL.IF = 1; //清除中断标志位
}
}