DK-LM3S9B96中断的问题

2019-03-24 15:16发布

#include <LM3S9B96.h>
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "inc/hw_ints.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/sysctl.h" int main(void)
{
 SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_XTAL_16MHZ |
                   SYSCTL_OSC_MAIN);  //时钟设置
 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOJ);
 GPIODirModeSet(GPIO_PORTF_BASE,GPIO_PIN_3,GPIO_DIR_MODE_OUT);
 GPIODirModeSet(GPIO_PORTJ_BASE,GPIO_PIN_7,GPIO_DIR_MODE_IN);
 GPIOPadConfigSet(GPIO_PORTF_BASE,GPIO_PIN_3,GPIO_STRENGTH_4MA,GPIO_PIN_TYPE_STD );
 GPIOPadConfigSet(GPIO_PORTJ_BASE,GPIO_PIN_7,GPIO_STRENGTH_4MA,GPIO_PIN_TYPE_STD);
 GPIOIntTypeSet(GPIO_PORTJ_BASE,GPIO_PIN_7,GPIO_LOW_LEVEL);
    GPIOPinIntEnable(GPIO_PORTJ_BASE,GPIO_PIN_7);
 IntEnable(INT_GPIOJ);
 IntMasterEnable();
 while(1)
 {
 //  GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,~GPIO_PIN_3);
 }
}
void GPIO_Port_J_ISR(void)
{
 GPIOPinIntClear(GPIO_PORTJ_BASE,GPIO_PIN_7);
 GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,GPIO_PIN_3);
}   代码如上,可就是不行,请高手帮忙看下 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
David_Lee
2019-03-25 07:21

原帖由 xylq0826 于 2011-12-5 19:37 发表 看不懂里面的内容

 

参考StellarisWareoardsdk-lm3s9b96interruptsstartup_rvmdk.S

 

其实就两处:如下图:

中断声明1.jpg

 

中断声明2.jpg

 

以此类推,把你用到的中断给加上即可完成声明,Port J的向量在最后面,修改对应的IntDefaultHandler为你的Port J中断服务函数吧,EXTERN那个也要补上。

        DCD     IntDefaultHandler           ; ADC1 Sequence 3
        DCD     IntDefaultHandler           ; I2S0
        DCD     IntDefaultHandler           ; External Bus Interface 0
        DCD     IntDefaultHandler           ; GPIO Port J

一周热门 更多>

相关问题

    相关文章