此次实验初始化定时器,1ms进一次中断。
实验现象:1s时间led闪烁一次。
timer.c
#include "timer.h"
void TIMER_Init(void)
{
/* Configuring Timer32 to 48000000 (1s) of MCLK in periodic mode */
MAP_Timer32_initModule(TIMER32_0_BASE, TIMER32_PRESCALER_16, TIMER32_32BIT,
TIMER32_PERIODIC_MODE);
MAP_Interrupt_enableInterrupt(INT_T32_INT1);
MAP_Timer32_setCount(TIMER32_0_BASE,3000);
MAP_Timer32_startTimer(TIMER32_0_BASE, false);
}
/* Timer32 ISR */
void T32_INT1_IRQHandler(void)
{
static int ms_cnt = 0;
MAP_Timer32_clearInterruptFlag(TIMER32_BASE);
ms_cnt++;
if(ms_cnt == 1000)
{
ms_cnt = 0;
MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0);
}
}
timer.h
#ifndef __TIMER_H
#define __TIMER_H
/* DriverLib Includes */
#include <ti/devices/msp432p4xx/driverlib/driverlib.h>
void TIMER_Init(void);
#endif