<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic GPIO Interrupt in MCUXpresso in MCUXpresso SDK</title>
    <link>https://community.nxp.com/t5/MCUXpresso-SDK/GPIO-Interrupt-in-MCUXpresso/m-p/910221#M1534</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to start a new project and add some peripherals, one of them is the gpio interrupt, but i can't get it to work properly. If i import the example it works fine, but when add as a peripheral it doesn't work.&lt;/P&gt;&lt;P&gt;I'm working with a FRDM-K64F and want to make an interrupt with the SW3 switch of the board wich is in the PIN 6 of PORTC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the generated code in&lt;/P&gt;&lt;P&gt;peripherals.h:&lt;/P&gt;&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Alias for GPIOC peripheral */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;GPIO_BUTTON_GPIO&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;GPIOC&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Alias for PORTC */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;GPIO_BUTTON_PORT&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;PORTC&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* GPIO_BUTTON interrupt vector ID (number). */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;GPIO_BUTTON_IRQN&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;PORTC_IRQn&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* GPIO_BUTTON interrupt handler identifier. */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;IRQ_SW2&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;PORTC_IRQHandler&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;peripherals.c:&lt;/P&gt;&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;GPIO_BUTTON_init&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Make sure, the clock gate for port C is enabled (e. g. in pin_mux.c) */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Enable interrupt PORTC_IRQn request in the NVIC */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;EnableIRQ&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(PORTC_IRQn);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/***********************************************************************************************************************&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;* Initialization functions&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;**********************************************************************************************************************/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;BOARD_InitPeripherals&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Initialize components */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;PIT_1_init&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;GPIO_BUTTON_init&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/***********************************************************************************************************************&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;* BOARD_InitBootPeripherals function&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;**********************************************************************************************************************/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;BOARD_InitBootPeripherals&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;BOARD_InitPeripherals&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and in&lt;/P&gt;&lt;P&gt;pinmux.h:&lt;/P&gt;&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;BOARD_INITPINS_SW2_GPIO&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;GPIOC&lt;/SPAN&gt; &lt;SPAN style="color: #6a9955;"&gt;/*!&amp;lt;@brief GPIO device name: GPIOC */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;BOARD_INITPINS_SW2_PORT&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;PORTC&lt;/SPAN&gt; &lt;SPAN style="color: #6a9955;"&gt;/*!&amp;lt;@brief PORT device name: PORTC */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;BOARD_INITPINS_SW2_PIN&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;6U&lt;/SPAN&gt; &lt;SPAN style="color: #6a9955;"&gt;/*!&amp;lt;@brief PORTC pin index: 6 */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pinmux.c:&lt;/P&gt;&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;BOARD_InitPins&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Port C Clock Gate Control: Clock enabled */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;CLOCK_EnableClock&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(kCLOCK_PortC);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #4ec9b0;"&gt;gpio_pin_config_t&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;SW2_config&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.pinDirection&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;kGPIO_DigitalInput,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.outputLogic&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;0U&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Initialize GPIO functionality on pin PTC6 (pin 78) */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;GPIO_PinInit&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(BOARD_INITPINS_SW2_GPIO, BOARD_INITPINS_SW2_PIN,&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;SW2_config);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #4ec9b0;"&gt;gpio_pin_config_t&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;LED_GREEN_config&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.pinDirection&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;kGPIO_DigitalOutput,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.outputLogic&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;1U&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* PORTC6 (pin 78) is configured as PTC6 */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;PORT_SetPinMux&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(BOARD_INITPINS_SW2_PORT, BOARD_INITPINS_SW2_PIN, kPORT_MuxAsGpio);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Interrupt configuration on PORTC6 (pin 78): Interrupt on falling edge */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;PORT_SetPinInterruptConfig&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(BOARD_INITPINS_SW2_PORT, BOARD_INITPINS_SW2_PIN, kPORT_InterruptFallingEdge);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #9cdcfe;"&gt;PORTC&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;PCR&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;[&lt;/SPAN&gt;&lt;SPAN style="color: #b5cea8;"&gt;6&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;((&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;PORTC&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;PCR&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;[&lt;/SPAN&gt;&lt;SPAN style="color: #b5cea8;"&gt;6&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;&amp;amp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Mask bits to zero which are setting */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;~&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(PORT_PCR_PS_MASK&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;PORT_PCR_PE_MASK&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;PORT_PCR_ISF_MASK)))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Pull Select: Internal pullup resistor is enabled on the corresponding pin, if the&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* corresponding PE field is set. */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;)(kPORT_PullUp));&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then implement my IRQ handler in main.c:&lt;/P&gt;&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;IRQ_SW2&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;){&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Clear external interrupt flag. */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;GPIO_PortClearInterruptFlags&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(GPIOC,&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;1U&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;6&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt; &lt;SPAN style="color: #6a9955;"&gt;/* Change state of button. */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sw2_interrupt&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;true&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Add for ARM errata 838869, affects Cortex-M4, Cortex-M4F Store immediate overlapping&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exception return operation might vector to incorrect interrupt */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #c586c0;"&gt;#if&lt;/SPAN&gt; &lt;SPAN style="color: #c586c0;"&gt;defined&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;__CORTEX_M&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #dcdcaa;"&gt;__CORTEX_M&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;==&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;4U&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;__DSB&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #c586c0;"&gt;#endif&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But it never enter in this function handler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When push the button, it always goes directly to:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/83928i4DEF6AE83DF8658B/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;And stays there forever.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My pins configuration:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/83929i554731A824C30438/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_4.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/83930i36C6F969B8403183/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_4.png" alt="pastedImage_4.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/83931i8FEE6A25B78025F1/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;What could I be missing?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 27 May 2019 19:43:52 GMT</pubDate>
    <dc:creator>alejandrovelez</dc:creator>
    <dc:date>2019-05-27T19:43:52Z</dc:date>
    <item>
      <title>GPIO Interrupt in MCUXpresso</title>
      <link>https://community.nxp.com/t5/MCUXpresso-SDK/GPIO-Interrupt-in-MCUXpresso/m-p/910221#M1534</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to start a new project and add some peripherals, one of them is the gpio interrupt, but i can't get it to work properly. If i import the example it works fine, but when add as a peripheral it doesn't work.&lt;/P&gt;&lt;P&gt;I'm working with a FRDM-K64F and want to make an interrupt with the SW3 switch of the board wich is in the PIN 6 of PORTC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the generated code in&lt;/P&gt;&lt;P&gt;peripherals.h:&lt;/P&gt;&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Alias for GPIOC peripheral */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;GPIO_BUTTON_GPIO&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;GPIOC&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Alias for PORTC */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;GPIO_BUTTON_PORT&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;PORTC&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* GPIO_BUTTON interrupt vector ID (number). */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;GPIO_BUTTON_IRQN&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;PORTC_IRQn&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* GPIO_BUTTON interrupt handler identifier. */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;IRQ_SW2&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;PORTC_IRQHandler&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;peripherals.c:&lt;/P&gt;&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;GPIO_BUTTON_init&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Make sure, the clock gate for port C is enabled (e. g. in pin_mux.c) */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Enable interrupt PORTC_IRQn request in the NVIC */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;EnableIRQ&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(PORTC_IRQn);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/***********************************************************************************************************************&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;* Initialization functions&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;**********************************************************************************************************************/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;BOARD_InitPeripherals&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Initialize components */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;PIT_1_init&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;GPIO_BUTTON_init&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/***********************************************************************************************************************&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;* BOARD_InitBootPeripherals function&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;**********************************************************************************************************************/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;BOARD_InitBootPeripherals&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;BOARD_InitPeripherals&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and in&lt;/P&gt;&lt;P&gt;pinmux.h:&lt;/P&gt;&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;BOARD_INITPINS_SW2_GPIO&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;GPIOC&lt;/SPAN&gt; &lt;SPAN style="color: #6a9955;"&gt;/*!&amp;lt;@brief GPIO device name: GPIOC */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;BOARD_INITPINS_SW2_PORT&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;PORTC&lt;/SPAN&gt; &lt;SPAN style="color: #6a9955;"&gt;/*!&amp;lt;@brief PORT device name: PORTC */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #c586c0;"&gt;#define&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;BOARD_INITPINS_SW2_PIN&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;6U&lt;/SPAN&gt; &lt;SPAN style="color: #6a9955;"&gt;/*!&amp;lt;@brief PORTC pin index: 6 */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pinmux.c:&lt;/P&gt;&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;BOARD_InitPins&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Port C Clock Gate Control: Clock enabled */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;CLOCK_EnableClock&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(kCLOCK_PortC);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #4ec9b0;"&gt;gpio_pin_config_t&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;SW2_config&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.pinDirection&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;kGPIO_DigitalInput,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.outputLogic&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;0U&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Initialize GPIO functionality on pin PTC6 (pin 78) */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;GPIO_PinInit&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(BOARD_INITPINS_SW2_GPIO, BOARD_INITPINS_SW2_PIN,&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;SW2_config);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #4ec9b0;"&gt;gpio_pin_config_t&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;LED_GREEN_config&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.pinDirection&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;kGPIO_DigitalOutput,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.outputLogic&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;1U&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* PORTC6 (pin 78) is configured as PTC6 */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;PORT_SetPinMux&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(BOARD_INITPINS_SW2_PORT, BOARD_INITPINS_SW2_PIN, kPORT_MuxAsGpio);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Interrupt configuration on PORTC6 (pin 78): Interrupt on falling edge */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #dcdcaa;"&gt;PORT_SetPinInterruptConfig&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(BOARD_INITPINS_SW2_PORT, BOARD_INITPINS_SW2_PIN, kPORT_InterruptFallingEdge);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #9cdcfe;"&gt;PORTC&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;PCR&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;[&lt;/SPAN&gt;&lt;SPAN style="color: #b5cea8;"&gt;6&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;((&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;PORTC&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;PCR&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;[&lt;/SPAN&gt;&lt;SPAN style="color: #b5cea8;"&gt;6&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;]&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;&amp;amp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Mask bits to zero which are setting */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;~&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(PORT_PCR_PS_MASK&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;PORT_PCR_PE_MASK&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;PORT_PCR_ISF_MASK)))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Pull Select: Internal pullup resistor is enabled on the corresponding pin, if the&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* corresponding PE field is set. */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;|&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;)(kPORT_PullUp));&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then implement my IRQ handler in main.c:&lt;/P&gt;&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;IRQ_SW2&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;){&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Clear external interrupt flag. */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;GPIO_PortClearInterruptFlags&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(GPIOC,&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;1U&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;6&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt; &lt;SPAN style="color: #6a9955;"&gt;/* Change state of button. */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sw2_interrupt&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;true&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #6a9955;"&gt;/* Add for ARM errata 838869, affects Cortex-M4, Cortex-M4F Store immediate overlapping&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #6a9955;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exception return operation might vector to incorrect interrupt */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #c586c0;"&gt;#if&lt;/SPAN&gt; &lt;SPAN style="color: #c586c0;"&gt;defined&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;__CORTEX_M&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; &lt;SPAN style="color: #569cd6;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #dcdcaa;"&gt;__CORTEX_M&lt;/SPAN&gt; &lt;SPAN style="color: #d4d4d4;"&gt;==&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;4U&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt; &lt;SPAN style="color: #dcdcaa;"&gt;__DSB&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #569cd6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #c586c0;"&gt;#endif&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But it never enter in this function handler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When push the button, it always goes directly to:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/83928i4DEF6AE83DF8658B/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;And stays there forever.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My pins configuration:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/83929i554731A824C30438/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_4.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/83930i36C6F969B8403183/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_4.png" alt="pastedImage_4.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/83931i8FEE6A25B78025F1/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;What could I be missing?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 May 2019 19:43:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-SDK/GPIO-Interrupt-in-MCUXpresso/m-p/910221#M1534</guid>
      <dc:creator>alejandrovelez</dc:creator>
      <dc:date>2019-05-27T19:43:52Z</dc:date>
    </item>
    <item>
      <title>Re: GPIO Interrupt in MCUXpresso</title>
      <link>https://community.nxp.com/t5/MCUXpresso-SDK/GPIO-Interrupt-in-MCUXpresso/m-p/910222#M1535</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A _jive_internal="true" class="" data-content-finding="Community" data-userid="239026" data-username="alejandrovelez" href="https://community.nxp.com/people/alejandrovelez"&gt;Alejandro&lt;/A&gt;:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SW3 in Frdm-k64 board is very special, it connects to NMI.&lt;/P&gt;&lt;P&gt;I would suggest you try SW2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/83958i64A998E585507F30/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 May 2019 07:43:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-SDK/GPIO-Interrupt-in-MCUXpresso/m-p/910222#M1535</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2019-05-28T07:43:31Z</dc:date>
    </item>
    <item>
      <title>Re: GPIO Interrupt in MCUXpresso</title>
      <link>https://community.nxp.com/t5/MCUXpresso-SDK/GPIO-Interrupt-in-MCUXpresso/m-p/910223#M1536</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/danielchen@fsl"&gt;danielchen@fsl&lt;/A&gt;‌, Thanks for your answer, seems i've been pressing the wrong switch :smileyconfused:. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 May 2019 13:56:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-SDK/GPIO-Interrupt-in-MCUXpresso/m-p/910223#M1536</guid>
      <dc:creator>alejandrovelez</dc:creator>
      <dc:date>2019-05-28T13:56:38Z</dc:date>
    </item>
  </channel>
</rss>

