#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);
}
代码如上,可就是不行,请高手帮忙看下
此帖出自
小平头技术问答
参考StellarisWareoardsdk-lm3s9b96interruptsstartup_rvmdk.S
其实就两处:如下图:
以此类推,把你用到的中断给加上即可完成声明,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
一周热门 更多>