微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > LM3S中断程序问题

LM3S中断程序问题

时间:10-02 整理:3721RD 点击:
当设置
IntEnable(INT_GPIOD);//enable GPIO D interrupt后我的while中的内容就无法运行,删除这一句就没有问题了~但是删除就无法使用中断,请教各位大侠是怎么回事!程序如下~
int main()  
{
//μ?3?ê??ˉ
SysCtlClockSet(SYSCTL_SYSdiv_1|SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHZ);
TheSysClock = SysCtlClockGet();  
  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);  
GPIOPinTypeGPIOOutput(GPIO_PORTE_BASE,GPIO_PIN_2);  
GPIOPadConfigSet(GPIO_PORTE_BASE,GPIO_PIN_2,GPIO_STRENGTH_8MA,GPIO_PIN_TYPE_STD);
//°′?ü3?ê??ˉ
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
GPIOPinIntEnable(GPIO_PORTD_BASE, GPIO_PIN_0);//Enable GPIO D pin 0
GPIOPinTypeGPIOInput(GPIO_PORTD_BASE, GPIO_PIN_0);//set the pin mode is input
GPIOIntTypeSet(GPIO_PORTD_BASE, GPIO_PIN_0, GPIO_LOW_LEVEL);//set interrupt type is low Falling edge
IntEnable(INT_GPIOD);//enable GPIO D interrupt
IntMasterEnable();
while(1)
{
  GPIOPinIntClear(GPIO_PORTD_BASE, KEY0);                           
  GPIOPinWrite(GPIO_PORTE_BASE,GPIO_PIN_2,0);
  SysCtlDelay(100 * (TheSysClock / 3000));
  GPIOPinWrite(GPIO_PORTE_BASE,GPIO_PIN_2,0xff);
  SysCtlDelay(100 * (TheSysClock / 3000));  
}
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top