AnsweredAssumed Answered

GPIO PIN interrupt is not working in LPC 1837

Question asked by pon alagappan on Sep 22, 2016
Latest reply on Sep 26, 2016 by jeremyzhou

Hi,

 

I am trying to use GPIO PIN interrupt in  lpc1837. i need active low interrupt. initially i set the GPIO port and pin in PINTSEL0 register and verified its value.

 

 

then doing with configuration registers ISEL,IENR and IENF  as follows 

 

/* enable level interrupt */

 

LPC_GPIO_PIN_INT->ISEL = (GPIO_PIN_INT_ISEL_PMODE0_Msk |
GPIO_PIN_INT_ISEL_PMODE1_Msk);

 

/* enable level interrupt */

 

LPC_GPIO_PIN_INT->IENR = (GPIO_PIN_INT_IENR_ENRL0_Msk |
                                                  GPIO_PIN_INT_IENR_ENRL1_Msk );

 


LPC_GPIO_PIN_INT->SIENR = ( GPIO_PIN_INT_SIENR_SETENRL0_Msk |
                                                       GPIO_PIN_INT_SIENR_SETENRL1_Msk );


/* enable active LOW interrupt */

 


LPC_GPIO_PIN_INT->IENF = 0x00UL;

 

LPC_GPIO_PIN_INT->CIENF = (GPIO_PIN_INT_CIENF_CENAF0_Msk |
                                                       GPIO_PIN_INT_CIENF_CENAF1_Msk );

 

when i set the values for SIENR, it immediately sets the IST register PSTAT0 and PSTAT1 flag. but it should not happen. my hardware pin state is HIGH in normal, upon interrupt it provides LOW. 

 

 

Is that my way is correct of doing , any suggestions?

Outcomes