通用定時器A(GPTimer A)是一種通用系統(tǒng)定時器哩罪。
通用定時器A是一個高級外設(shè)總線(APB)的從設(shè)備放刨。
- 24位遞減定時器
- 自動重載
- 中斷
- 用戶可配置的遞減計數(shù)值
- 輸入時鐘分頻器
例1:定時中斷
void configure_gptimera(void)
{
PAC55XX_GPTIMERA->CTL.DIV = GPTCTL_PS_DIV128; //PCLK 128分頻
PAC55XX_GPTIMERA->CTL.CDV = 0xFFFFFF; //計數(shù)值怕磨,當(dāng)此值到0觸發(fā)中斷并自動回裝
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電平翻轉(zhuǎn)
PAC55XX_GPTIMERA->CTL.IF = 1; //清除中斷標(biāo)志位
}
}