PAC_Timer

2025-03-14  本文已影响0人  蜗牛blue_wang

通用定时器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; //清除中断标志位
    }
}

上一篇 下一篇

猜你喜欢

热点阅读