我用的M3S811,但不知道为什么进不了中断?
下面是我的程序:
#include "lm3s811.h"
#include "m3io.h"
#include "driverlib/timer.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#include "inc/hw_memmap.h"
#include "inc/hw_ints.h"
#include "driverlib/interrupt.h"
void GPIO_Interrupt_Sever();
void Timer0ATimeoutIntHandler();
volatile unsigned long ulLoop;
main()
{
SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_6MHZ|SYSCTL_OSC_INT4);//设置主时钟PLL
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD|SYSCTL_RCGC2_GPIOC);//使能GPIO
GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE,GPIO_PIN_5);//输出模式
GPIOPinTypeGPIOOutputOD(GPIO_PORTD_BASE,GPIO_PIN_7);//开漏模式
IntMasterEnable();//使能全局中断
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1);//打开定时器
TimerConfigure(TIMER1_BASE,TIMER_CFG_16_BIT_PAIR|TIMER_CFG_A_PERIODIC);//设置定时器工作方式
TimerPrescaleSet(TIMER1_BASE,TIMER_A,0x007f);//设置分频
TimerLoadSet(TIMER1_BASE,TIMER_A,0xffff);//装初值
TimerIntEnable(TIMER1_BASE,TIMER_TIMA_TIMEOUT);//使能TIMER0A的溢出中断
TimerIntRegister(TIMER1_BASE,TIMER_A,Timer0ATimeoutIntHandler);//将TIMER0A中断服务进程设置为void Timer0ATimeoutIntHandler(void)
TimerEnable(TIMER1_BASE,TIMER_A);//打开定时器开始计时
while(1)
{
}
}
void Timer0ATimeoutIntHandler(void)
{
TimerIntClear(TIMER0_BASE,TIMER_TIMA_TIMEOUT); //清除中断标志位
while(1)
{
PC5_0;
PD7_1;
for(ulLoop = 0; ulLoop < 200000; ulLoop++)
{
}
PC5_1;//输出高
PD7_0;
for(ulLoop = 0; ulLoop < 200000; ulLoop++)
{
}
}
}
请各位大侠帮帮忙啊!
引用: 原帖由 bruthroc 于 2011-9-29 13:37 发表 我用的M3S811,但不知道为什么进不了中断?下面是我的程序: #include "lm3s811.h"#include "m3io.h"#include "driverlib/timer.h"#include "driverlib/sysctl.h"#include "driverlib/gpio.h"#include "inc/hw_me ...
检查Startup.s里面有没有给中断函数注册
引用: 原帖由 bruthroc 于 2011-9-29 18:43 发表 看了startup.s文件,但不知道终端是在哪儿注册的,求指教。谢谢了
https://bbs.eeworld.com.cn/viewthread.php?tid=305860&page=1#pid1185369
你可以比较一下官方例程里,用到中断的工程文件中的Startup.s文件,应该可以看明白滴。
e.g.:
EXTERN UARTIntHandler
DCD UARTIntHandler ; UART0 Rx and Tx
引用: 原帖由 bruthroc 于 2011-9-29 21:09 发表 看了一下 startup中确实没有 Timer1A_ISR 我把加进去了 连接出现了问题: test2.axf: Error: L6218E: Undefined symbol Timer1A_ISR (referred from startup.o). 这怎么解决呢?
EXTERN Timer1A_ISR
这个要有
DCO Timer1A_ISR
这个也要有
引用: 原帖由 bruthroc 于 2011-9-30 11:01 发表 请问哪位大侠有写过M3中断的程序呀?小弟实在是不知怎么解决这个问题,想借鉴一下,看看我的程序是哪儿出错了。谢谢了!
给你的外部中断按键的例子,是外部中断 EXTI9_5,看看哈