1.使能时钟
2.使能定时器
3.定时器功能配置
4.使能定时器中断
5.注册中断语句
6.全局中断开启
7.定时器中断开启
注意:在 start_up.s 文件里声明中断语句
例子:定时器中断使两灯交替闪烁
void Timer0IntHandler();
int main(void)
{
SysCtlClockSet(SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_4|GPIO_PIN_5);
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC);
TimerLoadSet(TIMER0_BASE, TIMER_A, SysCtlClockGet()/2-1);
IntEnable(INT_TIMER0A);
TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
IntMasterEnable();
IntRegister(INT_TIMER0A,Timer0IntHandler);
TimerEnable(TIMER0_BASE, TIMER_A);
GPIOPinWrite(GPIO_PORTB_BASE,GPIO_PIN_4,GPIO_PIN_4);
GPIOPinWrite(GPIO_PORTB_BASE,GPIO_PIN_5,0);
while(1)
{
}
}
void Timer0IntHandler(void)
{
TimerEnable(TIMER0_BASE, TIMER_A);
TimerIntClear(TIMER0_BASE,TIMER_TIMA_TIMEOUT);
GPIOPinWrite(GPIO_PORTB_BASE,GPIO_PIN_4|GPIO_PIN_5,(~GPIOPinRead(GPIO_PORTB_BASE,GPIO_PIN_
4|GPIO_PIN_5)));
}