大家好。 我是 EK-TM4C1294 XL 电路板的新计划。 我学习的内容是"工作手册 TM4C1294.pdf"。 我想使用具有中断功能的计时器来生成精确时间。 但是、当我运行程序时、CPU 不能跳转到计时器中断服务 Roundtie。 我的代码如下。 我使用的 IAR IDE 的预处理器参数是
"ewarm"和 "target_IS_TM4C129_RA0"
#include #include #include "driverlib/inc/hw_memmap.h" #include "driverlib/inc/hw_types.h" #include "driverlib/inc/hw_NVIC.h" #include "driverlib/sys/hw_ints.h" #include "driverlib/debug.h" #include "driverlib/driverlib"#driverlib_rom.idt#include "#driverlib_timers/driverlib"#driverlib_timers.idt#include "#driverlib_intradc/ides.h" #include "driverlib_timers.idt.ides#include "driverlib_ins/idt.idt.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr.idr int main (void) { //使用外部时钟和 PLL 配置系统时钟*/ sys_clock_Hz = map_SysCtlClockFreqSet (SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480、 120000000); SysCtlPeripheralEnable (SYSCTL_Periph_GPION); SysCtlPeripheralEnable (SYSCTL_Periph_TIMER0); /*将 led 配置为输出*/ GPIOPinTypeGPIOOutput (GPIO_PORTN_BASE、GPIO_PIN_0); //将计时器配置为100mS 周期*/ TimerConfigure (TIMER0_BASE、TIMER_CFG_PERIOD); TimerSet (TIMER0_BASE、TIMER_A、(SYS_CLOCK、TIMER10_CLISR_PERIOR) ;TIMER10_TIMER1) TimerIntEnable (TIMER0_BASE、TIMER_TINA_TIMEOUT); IntEnable (INT_TIMER0A); TimerEnable (TIMER0_BASE、TIMER_A); IntMasterEnable(); /*无限循环*/ while (1) { } void Timer_ISR (void) { //清除计时器中断*/ TimerIntClear (TIMER0_BASE、TIMER_TIMA_TIMEOUT); if (GPIOPinRead (GPIO_PORTN_BASE、GPIO_PIN_0)) { GPIOPIN_BASE (GPIOP0_PHIN_TO_TIMEOUT )};GPIOP0_PHIN (0xORTN_PIN_PHIN)};GPIOP0_PIN_PIN_PIN_PHIN 0_PIN_PHIN)