This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C1294的P口和Q口的私有中断



以前写io中断都是使用的整个IO口的中断,从来没使用过IO的私有中断,按照以前的办法配置了一下,发现会一直进入fault B中断

这是配置的函数

int main()
{
	coreFre = SysCtlClockFreqSet((SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_CFG_VCO_480|SYSCTL_XTAL_25MHZ),120000000);
	
	SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOP);	

	GPIOPinTypeGPIOInput(GPIO_PORTP_BASE,GPIO_PIN_0);
	//GPIOPinTypeGPIOOutput(GPIO_PORTP_BASE,GPIO_PIN_5);	
	GPIOPadConfigSet(GPIO_PORTP_BASE,GPIO_PIN_0,GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
	
	IntPriorityGroupingSet(2);
	IntPrioritySet(INT_GPIOP0,0);
	
	GPIOIntTypeSet(GPIO_PORTP_BASE,GPIO_PIN_0,GPIO_LOW_LEVEL|GPIO_DISCRETE_INT);
	
	IntMasterEnable();
	IntDisable(INT_GPIOP1|
						 INT_GPIOP2|
						 INT_GPIOP3|
						 INT_GPIOP4|
						 INT_GPIOP5|
						 INT_GPIOP6|
						 INT_GPIOP7);
	IntEnable(INT_GPIOP0);	
	GPIOIntEnable(GPIO_PORTP_BASE,GPIO_INT_PIN_0);
	
	while(1)
	{
}	
}

void PortP0IntHandler()
{
	GPIOIntClear(GPIO_PORTP_BASE,GPIO_INT_PIN_0);
	GPIOPinWrite(GPIO_PORTP_BASE,GPIO_PIN_5,~GPIOPinRead(GPIO_PORTP_BASE,GPIO_PIN_5));
	SysCtlDelay(30000000);
}