<?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 Re: problem lwgpio isr M52233demo board in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/problem-lwgpio-isr-M52233demo-board/m-p/328708#M10469</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sol,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply and your help.&amp;nbsp; It worked !!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I find interesting noticing for the comunity that in the m52233demo.h file , it seems to have an error setting SW2/BUTTON2/MUX GPIO.&lt;/P&gt;&lt;P&gt;Its set to GPIO_PIN1 while it should be GPIO_PIN4 !!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When trying to set button2 port with GPIO_PIN1 it gets an error and with GPIO_PIN4 works fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*&lt;/P&gt;&lt;P&gt;** GPIO board specifications&lt;/P&gt;&lt;P&gt;*/&lt;/P&gt;&lt;P&gt;#define BSP_LED1&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_TC | GPIO_PIN0)&lt;/P&gt;&lt;P&gt;#define BSP_LED2&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_TC | GPIO_PIN1)&lt;/P&gt;&lt;P&gt;#define BSP_LED3&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_TC | GPIO_PIN2)&lt;/P&gt;&lt;P&gt;#define BSP_LED4&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_TC | GPIO_PIN3)&lt;/P&gt;&lt;P&gt;#define BSP_SW1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_NQ | GPIO_PIN7)&lt;/P&gt;&lt;P&gt;#define BSP_SW2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_NQ | GPIO_PIN1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define BSP_LED1_MUX_GPIO (LWGPIO_MUX_TC0_GPIO)&lt;/P&gt;&lt;P&gt;#define BSP_LED2_MUX_GPIO (LWGPIO_MUX_TC1_GPIO)&lt;/P&gt;&lt;P&gt;#define BSP_LED3_MUX_GPIO (LWGPIO_MUX_TC2_GPIO)&lt;/P&gt;&lt;P&gt;#define BSP_LED4_MUX_GPIO (LWGPIO_MUX_TC3_GPIO)&lt;/P&gt;&lt;P&gt;#define BSP_SW1_MUX_GPIO&amp;nbsp; (LWGPIO_MUX_NQ7_GPIO)&lt;/P&gt;&lt;P&gt;#define BSP_SW2_MUX_GPIO&amp;nbsp; (LWGPIO_MUX_NQ1_GPIO)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* definitions for user applications */&lt;/P&gt;&lt;P&gt;#define BSP_BUTTON1&amp;nbsp;&amp;nbsp; BSP_SW1&lt;/P&gt;&lt;P&gt;#define BSP_BUTTON2&amp;nbsp;&amp;nbsp; BSP_SW2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define BSP_SW1_MUX_IRQ&amp;nbsp;&amp;nbsp; (1)&lt;/P&gt;&lt;P&gt;#define BSP_SW2_MUX_IRQ&amp;nbsp;&amp;nbsp; (1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define BSP_BUTTON1_MUX_GPIO&amp;nbsp; BSP_SW1_MUX_GPIO&lt;/P&gt;&lt;P&gt;#define BSP_BUTTON2_MUX_GPIO&amp;nbsp; BSP_SW2_MUX_GPIO&lt;/P&gt;&lt;P&gt;#define BSP_BUTTON1_MUX_IRQ&amp;nbsp;&amp;nbsp; BSP_SW1_MUX_IRQ&lt;/P&gt;&lt;P&gt;#define BSP_BUTTON2_MUX_IRQ&amp;nbsp;&amp;nbsp; BSP_SW2_MUX_IRQ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 22 Sep 2014 16:02:06 GMT</pubDate>
    <dc:creator>caioreiajive</dc:creator>
    <dc:date>2014-09-22T16:02:06Z</dc:date>
    <item>
      <title>problem lwgpio isr M52233demo board</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/problem-lwgpio-isr-M52233demo-board/m-p/328706#M10467</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 12.0pt; font-family: 'Times New Roman','serif'; color: black;"&gt;I’m having a problem setting the irq7 int on M52233demo board. It just doesn’t enter the callback function and curiously don’t open BSP_SW2 port !!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 12.0pt; font-family: 'Times New Roman','serif'; color: black;"&gt;It doesn’t get to callback function and doesn’t &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: olive;"&gt;get &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;LWGPIO_VALUE_LOW value.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;Here comes the odd thing.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;When I comment the "lwgpio_set_functionality statement" it prints “..pin7 – low – sw2=pressed..” when button pressed, but dont enter callback.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;However the most strange thing is that when I change the statement “&lt;SPAN style="color: black;"&gt;status&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;=&lt;/SPAN&gt; lwgpio_init&lt;SPAN style="color: black;"&gt;(&amp;amp;IntPort,&lt;/SPAN&gt;BSP_SW1&lt;SPAN style="color: black;"&gt;,&lt;/SPAN&gt; LWGPIO_DIR_INPUT&lt;SPAN style="color: black;"&gt;,&lt;/SPAN&gt; LWGPIO_VALUE_NOCHANGE&lt;SPAN style="color: black;"&gt;); from &lt;/SPAN&gt;BSP_SW1 to BSP_SW2”&amp;nbsp; I get printf&lt;SPAN style="color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: green;"&gt;"Initialising&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;GPIO&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;input&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;failed.\n"&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;);&lt;/SPAN&gt;&amp;nbsp; that is, it doesn’t open the SW2 port while it opens SW1 port !!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;I’m lost.&amp;nbsp; Tried lots of variations of this code.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;My user define since it has other projects closed for this test, contain defines set to SPI, ADC, TCP/IP, SNMP, TIMER. I’m not quite sure if it makes any difference for this test.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;Any help would be great.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code is as follows:&lt;/P&gt;&lt;PRE class="jive-pre"&gt;&lt;SPAN lang="EN-US" style="color: olive;"&gt;void&lt;/SPAN&gt; IntCallback&lt;SPAN style="color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: olive;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;*&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;data)&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class="jive-pre"&gt;&lt;SPAN lang="EN-US" style="color: black;"&gt;{&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class="jive-pre"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_int_clear_flag&lt;SPAN style="color: black;"&gt;((&lt;/SPAN&gt;LWGPIO_STRUCT_PTR&lt;SPAN style="color: black;"&gt;)data);&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class="jive-pre"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/PRE&gt;&lt;PRE class="jive-pre"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf &lt;SPAN style="color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: green;"&gt;"..interrup&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;port&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;entered.."&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;);&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;}&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;/*TASK*-------------------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;*&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;Task&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;Name&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;:&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;main_task&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;*&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;Comments&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;*END*----------------------------------------------------------------------*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: olive;"&gt;void&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;main_task&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;uint_32 &lt;SPAN style="color: black;"&gt;dummy&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;MQX_FILE_PTR &lt;SPAN style="color: black;"&gt;mySpiFd;&amp;nbsp; //not used now&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;LWGPIO_STRUCT &lt;SPAN style="color: black;"&gt;IntPort;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;boolean &lt;SPAN style="color: black;"&gt;status;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;uint_32 &lt;SPAN style="color: black;"&gt;vector;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;status&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;=&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;lwgpio_init&lt;SPAN style="color: black;"&gt;(&amp;amp;IntPort,&lt;/SPAN&gt;BSP_SW1&lt;SPAN style="color: black;"&gt;,&lt;/SPAN&gt; LWGPIO_DIR_INPUT&lt;SPAN style="color: black;"&gt;,&lt;/SPAN&gt; LWGPIO_VALUE_NOCHANGE&lt;SPAN style="color: black;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;lwgpio_set_functionality&lt;SPAN style="color: black;"&gt;(&amp;amp;IntPort,&lt;/SPAN&gt; LWGPIO_MUX_NQ7_GPIO&lt;SPAN style="color: black;"&gt;);&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: green;"&gt;//BSP_SW1_MUX_IRQ);//&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;lwgpio_set_attribute&lt;SPAN style="color: black;"&gt;(&amp;amp;IntPort,&lt;/SPAN&gt; LWGPIO_ATTR_PULL_UP&lt;SPAN style="color: black;"&gt;,&lt;/SPAN&gt; LWGPIO_AVAL_ENABLE&lt;SPAN style="color: black;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: olive;"&gt;if&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;(status&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;!=&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;TRUE&lt;SPAN style="color: black;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;printf&lt;SPAN style="color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: green;"&gt;"Initialising&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;GPIO&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;input&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;failed.\n"&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;//_mqx_exit(-1);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;}&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: olive;"&gt;else&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;status&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;=&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;lwgpio_int_init&lt;SPAN style="color: black;"&gt;(&amp;amp;IntPort,&lt;/SPAN&gt; LWGPIO_INT_MODE_FALLING&lt;SPAN style="color: black;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: olive;"&gt;if&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;(status&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;!=&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;TRUE&lt;SPAN style="color: black;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;printf&lt;SPAN style="color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: green;"&gt;"Initialising&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;pin&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;for&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;interrupt&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;failed.\n"&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;//_mqx_exit(-1);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;vector&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;=&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;lwgpio_int_get_vector&lt;SPAN style="color: black;"&gt;(&amp;amp;IntPort);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: olive;"&gt;if&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;NULL &lt;SPAN style="color: black;"&gt;==&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;(&lt;/SPAN&gt;_int_install_isr&lt;SPAN style="color: black;"&gt;(vector,&lt;/SPAN&gt; IntCallback&lt;SPAN style="color: black;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: olive;"&gt;void&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;*)&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;&amp;amp;IntPort)&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;printf &lt;SPAN style="color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: green;"&gt;"..error&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;setting&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;isr&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;callback.."&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;//_bsp_int_init(vector,&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;3,&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;0,&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: green;"&gt;TRUE);&lt;/SPAN&gt;&amp;nbsp; &lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;lwgpio_int_clear_flag&lt;SPAN style="color: black;"&gt;(&amp;amp;IntPort);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;lwgpio_int_enable&lt;SPAN style="color: black;"&gt;(&amp;amp;IntPort,&lt;/SPAN&gt; TRUE&lt;SPAN style="color: black;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: olive;"&gt;while&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: navy;"&gt;1&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;)&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: olive;"&gt;if&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;LWGPIO_VALUE_LOW &lt;SPAN style="color: black;"&gt;==&lt;/SPAN&gt; lwgpio_get_raw&lt;SPAN style="color: black;"&gt;(&amp;amp;IntPort)&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;printf &lt;SPAN style="color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: green;"&gt;"&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;..pin7&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;low&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;sw2=pressed.."&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt; &lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt; font-family: 'Times New Roman','serif'; color: black;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Sep 2014 15:18:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/problem-lwgpio-isr-M52233demo-board/m-p/328706#M10467</guid>
      <dc:creator>caioreiajive</dc:creator>
      <dc:date>2014-09-18T15:18:52Z</dc:date>
    </item>
    <item>
      <title>Re: problem lwgpio isr M52233demo board</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/problem-lwgpio-isr-M52233demo-board/m-p/328707#M10468</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi caio reia,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please try using the below code?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**HEADER********************************************************************&lt;/P&gt;&lt;P&gt;* &lt;/P&gt;&lt;P&gt;* Copyright (c) 2008 Freescale Semiconductor;&lt;/P&gt;&lt;P&gt;* All Rights Reserved&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*************************************************************************** &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;* THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESSED OR &lt;/P&gt;&lt;P&gt;* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES &lt;/P&gt;&lt;P&gt;* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.&amp;nbsp; &lt;/P&gt;&lt;P&gt;* IN NO EVENT SHALL FREESCALE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, &lt;/P&gt;&lt;P&gt;* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES &lt;/P&gt;&lt;P&gt;* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR &lt;/P&gt;&lt;P&gt;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) &lt;/P&gt;&lt;P&gt;* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, &lt;/P&gt;&lt;P&gt;* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING &lt;/P&gt;&lt;P&gt;* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF &lt;/P&gt;&lt;P&gt;* THE POSSIBILITY OF SUCH DAMAGE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;* $FileName: lwgpio.c$&lt;/P&gt;&lt;P&gt;* $Version : 3.7.2.0$&lt;/P&gt;&lt;P&gt;* $Date&amp;nbsp;&amp;nbsp;&amp;nbsp; : Mar-8-2011$&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;* Comments:&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; This file contains the source for the lwgpio example program.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*END************************************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;mqx.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;bsp.h&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Function prototypes */&lt;/P&gt;&lt;P&gt;void main_task(uint_32);&lt;/P&gt;&lt;P&gt;void int_service_routine(void *);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;const TASK_TEMPLATE_STRUCT&amp;nbsp; MQX_template_list[] = &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Task Index, Function, Stack, Priority,&amp;nbsp;&amp;nbsp; Name,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Attributes, Param, Time Slice */ &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { 1,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; main_task,&amp;nbsp; 1500,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8, "main", MQX_AUTO_START_TASK,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { 0 }&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;volatile uint_32 int_counter;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void int_service_routine(void *pin) &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int_counter++;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_int_clear_flag((LWGPIO_STRUCT_PTR) pin);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*TASK*-----------------------------------------------------&lt;/P&gt;&lt;P&gt;* &lt;/P&gt;&lt;P&gt;* Task Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : main_task&lt;/P&gt;&lt;P&gt;* Comments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;/P&gt;&lt;P&gt;* This task executes 3 steps&lt;/P&gt;&lt;P&gt;* 1) set BSP_LED1 on and off if BSP_LED1 available&lt;/P&gt;&lt;P&gt;* 2) configure BSP_BUTTON1 for interrupt if possible and wait&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp; for 5 interrupt calls&lt;/P&gt;&lt;P&gt;* 3) Drives BSP_LED1 according read from BSP_BUTTON1 or&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp; drives BSP_LED1 automatically if BSP_BUTTON1 not available&lt;/P&gt;&lt;P&gt;*END*-----------------------------------------------------*/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void main_task &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; (&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint_32 initial_data&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Structures holding information about specific pin */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LWGPIO_STRUCT led1, btn1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#if defined BSP_LED1&lt;/P&gt;&lt;P&gt;/************************************************&lt;/P&gt;&lt;P&gt; Open BSP_LED1 as output, drive the output level.&lt;/P&gt;&lt;P&gt;************************************************/&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; /* open file containing pin1 set of pins/signals */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!lwgpio_init(&amp;amp;led1, BSP_LED1, LWGPIO_DIR_OUTPUT, LWGPIO_VALUE_NOCHANGE))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Initializing LED1 GPIO as output failed.\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _mqx_exit(-1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_set_functionality(&amp;amp;led1, BSP_LED1_MUX_GPIO);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* write logical 1 to all signals in the file (fast) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_set_value(&amp;amp;led1, LWGPIO_VALUE_HIGH);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_set_value(&amp;amp;led1, LWGPIO_VALUE_LOW);&lt;/P&gt;&lt;P&gt;#endif //BSP_LED1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#if defined BSP_BUTTON1&lt;/P&gt;&lt;P&gt;/************************************************&lt;/P&gt;&lt;P&gt; Open BSP_BTN1 as input, initialize interrupt on&lt;/P&gt;&lt;P&gt; it and set interrupt handler. Wait until five&lt;/P&gt;&lt;P&gt; calls of handler were called.&lt;/P&gt;&lt;P&gt; ***********************************************/&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* opening pins/signals for input */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!lwgpio_init(&amp;amp;btn1, BSP_BUTTON1, LWGPIO_DIR_INPUT, LWGPIO_VALUE_NOCHANGE))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Initializing button GPIO as input failed.\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _mqx_exit(-1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#ifdef BSP_BUTTON1_MUX_IRQ&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Some peripherals require to setup MUX to IRQ functionality */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_set_functionality(&amp;amp;btn1, BSP_BUTTON1_MUX_IRQ);&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!lwgpio_int_init(&amp;amp;btn1, LWGPIO_INT_MODE_FALLING))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Initializing button GPIO for interrupt failed.\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Button configured for interrupt, waiting 5 interrupt callbacks.\n");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* install gpio interrupt service routine */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _int_install_isr(lwgpio_int_get_vector(&amp;amp;btn1), int_service_routine, (void *) &amp;amp;btn1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _bsp_int_init(lwgpio_int_get_vector(&amp;amp;btn1), 3, 0, TRUE);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_int_enable(&amp;amp;btn1, TRUE);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (int_counter &amp;lt; 5)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { /* Wait till 5 button pushes were made */ }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_int_enable(&amp;amp;btn1, FALSE);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#endif //BSP_BUTTON1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#if defined BSP_BUTTON1&lt;/P&gt;&lt;P&gt;/************************************************&lt;/P&gt;&lt;P&gt; Open BSP_BTN1 as input and read value from it.&lt;/P&gt;&lt;P&gt; Note that in previous test, the pin was &lt;/P&gt;&lt;P&gt; configured as interrupt and that is why it must&lt;/P&gt;&lt;P&gt; be reconfigured as standard GPIO.&lt;/P&gt;&lt;P&gt; ***********************************************/&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* opening pins/signals for input */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!lwgpio_init(&amp;amp;btn1, BSP_BUTTON1, LWGPIO_DIR_INPUT, LWGPIO_VALUE_NOCHANGE))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Initializing button GPIO as input failed.\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _mqx_exit(-1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_set_functionality(&amp;amp;btn1, BSP_LED1_MUX_GPIO);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* It is not easy to generalize switch: every board has its own switch names */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Use SWITCH on board to switch LED on or off\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (TRUE)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* read pin/signal status to pin list */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (LWGPIO_VALUE_HIGH == lwgpio_get_value(&amp;amp;btn1))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("LED OFF.\n"); &lt;/P&gt;&lt;P&gt;#if defined BSP_LED1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* clear pin to 0 (fast) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_set_value(&amp;amp;led1, LWGPIO_VALUE_LOW);&lt;/P&gt;&lt;P&gt;#endif //BSP_LED1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("LED ON.\n");&lt;/P&gt;&lt;P&gt;#if defined BSP_LED1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* set pin to 1 (fast) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_set_value(&amp;amp;led1, LWGPIO_VALUE_HIGH);&lt;/P&gt;&lt;P&gt;#endif //BSP_LED1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#elif defined BSP_LED1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/************************************************&lt;/P&gt;&lt;P&gt; In case board does not have BUTTONS, &lt;/P&gt;&lt;P&gt; Only blink with LED.&lt;/P&gt;&lt;P&gt;************************************************/&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* It is not easy to generalize LED: every board has its own LED names */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Going to blink with LED\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (TRUE)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* write logical 0 to the pin */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_set_value(&amp;amp;led1, LWGPIO_VALUE_LOW);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _time_delay(1000);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* write logical 1 to the pin */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_set_value(&amp;amp;led1, LWGPIO_VALUE_HIGH);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _time_delay(1000);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;#else //BSP_LED1, BSP_BUTTON1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Cannot show demo, no BSP_LED1 nor BSP_BUTTON1 defined for board.");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#endif //BSP_LED1, BSP_BUTTON1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* EOF */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt; Sol &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Sep 2014 00:05:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/problem-lwgpio-isr-M52233demo-board/m-p/328707#M10468</guid>
      <dc:creator>soledad</dc:creator>
      <dc:date>2014-09-19T00:05:07Z</dc:date>
    </item>
    <item>
      <title>Re: problem lwgpio isr M52233demo board</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/problem-lwgpio-isr-M52233demo-board/m-p/328708#M10469</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sol,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply and your help.&amp;nbsp; It worked !!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I find interesting noticing for the comunity that in the m52233demo.h file , it seems to have an error setting SW2/BUTTON2/MUX GPIO.&lt;/P&gt;&lt;P&gt;Its set to GPIO_PIN1 while it should be GPIO_PIN4 !!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When trying to set button2 port with GPIO_PIN1 it gets an error and with GPIO_PIN4 works fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*&lt;/P&gt;&lt;P&gt;** GPIO board specifications&lt;/P&gt;&lt;P&gt;*/&lt;/P&gt;&lt;P&gt;#define BSP_LED1&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_TC | GPIO_PIN0)&lt;/P&gt;&lt;P&gt;#define BSP_LED2&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_TC | GPIO_PIN1)&lt;/P&gt;&lt;P&gt;#define BSP_LED3&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_TC | GPIO_PIN2)&lt;/P&gt;&lt;P&gt;#define BSP_LED4&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_TC | GPIO_PIN3)&lt;/P&gt;&lt;P&gt;#define BSP_SW1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_NQ | GPIO_PIN7)&lt;/P&gt;&lt;P&gt;#define BSP_SW2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (GPIO_PORT_NQ | GPIO_PIN1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define BSP_LED1_MUX_GPIO (LWGPIO_MUX_TC0_GPIO)&lt;/P&gt;&lt;P&gt;#define BSP_LED2_MUX_GPIO (LWGPIO_MUX_TC1_GPIO)&lt;/P&gt;&lt;P&gt;#define BSP_LED3_MUX_GPIO (LWGPIO_MUX_TC2_GPIO)&lt;/P&gt;&lt;P&gt;#define BSP_LED4_MUX_GPIO (LWGPIO_MUX_TC3_GPIO)&lt;/P&gt;&lt;P&gt;#define BSP_SW1_MUX_GPIO&amp;nbsp; (LWGPIO_MUX_NQ7_GPIO)&lt;/P&gt;&lt;P&gt;#define BSP_SW2_MUX_GPIO&amp;nbsp; (LWGPIO_MUX_NQ1_GPIO)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* definitions for user applications */&lt;/P&gt;&lt;P&gt;#define BSP_BUTTON1&amp;nbsp;&amp;nbsp; BSP_SW1&lt;/P&gt;&lt;P&gt;#define BSP_BUTTON2&amp;nbsp;&amp;nbsp; BSP_SW2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define BSP_SW1_MUX_IRQ&amp;nbsp;&amp;nbsp; (1)&lt;/P&gt;&lt;P&gt;#define BSP_SW2_MUX_IRQ&amp;nbsp;&amp;nbsp; (1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define BSP_BUTTON1_MUX_GPIO&amp;nbsp; BSP_SW1_MUX_GPIO&lt;/P&gt;&lt;P&gt;#define BSP_BUTTON2_MUX_GPIO&amp;nbsp; BSP_SW2_MUX_GPIO&lt;/P&gt;&lt;P&gt;#define BSP_BUTTON1_MUX_IRQ&amp;nbsp;&amp;nbsp; BSP_SW1_MUX_IRQ&lt;/P&gt;&lt;P&gt;#define BSP_BUTTON2_MUX_IRQ&amp;nbsp;&amp;nbsp; BSP_SW2_MUX_IRQ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Sep 2014 16:02:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/problem-lwgpio-isr-M52233demo-board/m-p/328708#M10469</guid>
      <dc:creator>caioreiajive</dc:creator>
      <dc:date>2014-09-22T16:02:06Z</dc:date>
    </item>
  </channel>
</rss>

