LM3S中断问题

2019-03-24 12:13发布

当设置
IntEnable(INT_GPIOD);//enable GPIO D interrupt后我的while中的内容就无法运行,删除这一句就没有问题了~但是删除就无法使用中断,请教各位大侠是怎么回事!程序如下~
int main()  
{
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);

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));  
}
} 此帖出自小平头技术问答
0条回答

一周热门 更多>

相关问题

    相关文章