大家好。 我是 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)