MCU: Stellaris® LM3S608 Microcontroller编译环境: IAR Embedded Workbench 5.5问题描述:初始化3个通用定时器,均配置为32位周期性定时器,使能了定时器中断和定时器中断源 IntEnable(ulIntTimer); TimerIntEnable(ulBase, ulIntFlags);但是此处没有使能定时器(TimerEnable(TIMER0_BASE, TIMER_A);)接着初始化了其他的外设以及驱动,最后运行系统,使能IntMasterEnable();和定时器中断TimerEnable(TIMER0_BASE, TIMER_A);现象:定时器初始化完毕之后,在没有使能定时器的情况下,发现代码进入了定时器中断处理函数。(通过在中断处理函数中放置while(1);捕获)如果将IntEnable(ulIntTimer); TimerIntEnable(ulBase, ulIntFlags);放置所有外设以及驱动初始化之后,运行系统之前,就不会出现这种问题。在Stellaris® LM3S5K31 Microcontroller上也出现过类似情况。问题是没有使能定时器的时候,问什么会进入定时器中断呢?勘误上也没有此类问题描述。
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
测试这个问题时没有使用RTOS,初始化外设以及驱动之前确实没有关闭处理器中断,IntMasterDisable()
但是处理器中断默认应该是关闭的吧。
不过我再验证一下,看看使能处理器中断的时候,处理器中断是否已经使能……
一周热门 更多>