<?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 lwgpio interrupt problem in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/lwgpio-interrupt-problem/m-p/301014#M9682</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt; I run the gpio demo based on mqx4.1.it is &lt;/STRONG&gt;&lt;SPAN style="color: #2b2b2b; font-family: arial, sans-serif; font-size: 18px; font-weight: bold; background-color: #fafafa;"&gt;successful.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #2b2b2b; font-family: arial, sans-serif; font-size: 18px; font-weight: bold; background-color: #fafafa;"&gt; I copy the demo to my project, and the result is changed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;the result of the demo is : when I press the button ,it enter the ISR,&lt;/P&gt;&lt;P&gt;but&lt;/P&gt;&lt;P&gt;the restult of my project: when after calling _bsp_int_init(lwgpio_int_get_vector(&amp;amp;btn1), 3, 0, TRUE),&amp;nbsp; it enter the ISR &lt;SPAN style="color: #2b2b2b; font-family: arial, sans-serif; font-size: 18px; font-weight: bold; background-color: #fafafa;"&gt;Automatically&lt;/SPAN&gt;,&amp;nbsp; then I press the button, it enter the isr.&lt;/P&gt;&lt;P&gt;when I modify the priority&amp;nbsp; _bsp_int_init(lwgpio_int_get_vector(&amp;amp;btn1), 3, 0, TRUE) :3 ---&amp;gt;8&lt;/P&gt;&lt;P&gt;then it can't enter the isr &lt;SPAN style="color: #2b2b2b; font-family: arial, sans-serif; font-size: 18px; font-weight: bold; background-color: #fafafa;"&gt;forever.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my project&amp;nbsp; is :&lt;/P&gt;&lt;P&gt;void int_service_routine10(void *pin)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&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;void main_task1&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; uint32_t initial_data&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; LWGPIO_STRUCT led1, btn1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _mqx_uint result;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!lwgpio_init(&amp;amp;btn1, (GPIO_PORT_B | GPIO_PIN5), LWGPIO_DIR_INPUT, LWGPIO_VALUE_NOCHANGE))//(GPIO_PORT_B | GPIO_PIN4)(GPIO_PORT_B | GPIO_PIN7)&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; _task_block();&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, 1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; lwgpio_set_attribute(&amp;amp;btn1, LWGPIO_ATTR_PULL_UP, LWGPIO_AVAL_ENABLE);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&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; _int_install_isr(lwgpio_int_get_vector(&amp;amp;btn1), int_service_routine10, (void *) &amp;amp;btn1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_int_clear_flag(&amp;amp;btn1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_int_enable(&amp;amp;btn1, TRUE);&lt;/P&gt;&lt;P&gt;&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; button_press_count = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(button_press_count &amp;lt; 4)&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; printf("Button pressed %dx\r", button_press_count);&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; lwgpio_int_enable(&amp;amp;btn1, FALSE);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void main_task(uint32_t initial_data)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; main_task1(1);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 22 Apr 2014 06:49:16 GMT</pubDate>
    <dc:creator>heyunfei</dc:creator>
    <dc:date>2014-04-22T06:49:16Z</dc:date>
    <item>
      <title>lwgpio interrupt problem</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/lwgpio-interrupt-problem/m-p/301014#M9682</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt; I run the gpio demo based on mqx4.1.it is &lt;/STRONG&gt;&lt;SPAN style="color: #2b2b2b; font-family: arial, sans-serif; font-size: 18px; font-weight: bold; background-color: #fafafa;"&gt;successful.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #2b2b2b; font-family: arial, sans-serif; font-size: 18px; font-weight: bold; background-color: #fafafa;"&gt; I copy the demo to my project, and the result is changed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;the result of the demo is : when I press the button ,it enter the ISR,&lt;/P&gt;&lt;P&gt;but&lt;/P&gt;&lt;P&gt;the restult of my project: when after calling _bsp_int_init(lwgpio_int_get_vector(&amp;amp;btn1), 3, 0, TRUE),&amp;nbsp; it enter the ISR &lt;SPAN style="color: #2b2b2b; font-family: arial, sans-serif; font-size: 18px; font-weight: bold; background-color: #fafafa;"&gt;Automatically&lt;/SPAN&gt;,&amp;nbsp; then I press the button, it enter the isr.&lt;/P&gt;&lt;P&gt;when I modify the priority&amp;nbsp; _bsp_int_init(lwgpio_int_get_vector(&amp;amp;btn1), 3, 0, TRUE) :3 ---&amp;gt;8&lt;/P&gt;&lt;P&gt;then it can't enter the isr &lt;SPAN style="color: #2b2b2b; font-family: arial, sans-serif; font-size: 18px; font-weight: bold; background-color: #fafafa;"&gt;forever.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my project&amp;nbsp; is :&lt;/P&gt;&lt;P&gt;void int_service_routine10(void *pin)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&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;void main_task1&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; uint32_t initial_data&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; LWGPIO_STRUCT led1, btn1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _mqx_uint result;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!lwgpio_init(&amp;amp;btn1, (GPIO_PORT_B | GPIO_PIN5), LWGPIO_DIR_INPUT, LWGPIO_VALUE_NOCHANGE))//(GPIO_PORT_B | GPIO_PIN4)(GPIO_PORT_B | GPIO_PIN7)&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; _task_block();&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, 1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; lwgpio_set_attribute(&amp;amp;btn1, LWGPIO_ATTR_PULL_UP, LWGPIO_AVAL_ENABLE);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&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; _int_install_isr(lwgpio_int_get_vector(&amp;amp;btn1), int_service_routine10, (void *) &amp;amp;btn1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_int_clear_flag(&amp;amp;btn1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwgpio_int_enable(&amp;amp;btn1, TRUE);&lt;/P&gt;&lt;P&gt;&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; button_press_count = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(button_press_count &amp;lt; 4)&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; printf("Button pressed %dx\r", button_press_count);&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; lwgpio_int_enable(&amp;amp;btn1, FALSE);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void main_task(uint32_t initial_data)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; main_task1(1);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Apr 2014 06:49:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/lwgpio-interrupt-problem/m-p/301014#M9682</guid>
      <dc:creator>heyunfei</dc:creator>
      <dc:date>2014-04-22T06:49:16Z</dc:date>
    </item>
    <item>
      <title>Re: lwgpio interrupt problem</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/lwgpio-interrupt-problem/m-p/301015#M9683</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please see the attached example. I used TWR-K60D100M, MQX4.1 and CW10.6. The example install 3 interrupts Port A, Port E and PIT. An Interrupt is generated each time you press SW1 or SW2. And the PIT generates an Interrupt despending on the value you load in LDVAL register. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can decide whether MQX should handle the interrupts or they should bypass MQX by setting BYPASS macro.&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Carlos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 May 2014 19:53:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/lwgpio-interrupt-problem/m-p/301015#M9683</guid>
      <dc:creator>Carlos_Musich</dc:creator>
      <dc:date>2014-05-12T19:53:34Z</dc:date>
    </item>
  </channel>
</rss>

