<?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: MQX Task Stop Running the 2nd Time ISR is Invoked in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Task-Stop-Running-the-2nd-Time-ISR-is-Invoked/m-p/288918#M9243</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello chiasyan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my question would be why do you invoke the OLD_ISR code from your ISR? Where did you see this? I believe you copied it from somewhere if you have no clue what it does.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That line you removed, invoked again ISR routine, according to the pasted code. You can verify it with the value of that function pointer, it should point to the UART1 ISR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;0xc0170&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 25 Jul 2013 06:26:05 GMT</pubDate>
    <dc:creator>c0170</dc:creator>
    <dc:date>2013-07-25T06:26:05Z</dc:date>
    <item>
      <title>MQX Task Stop Running the 2nd Time ISR is Invoked</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Task-Stop-Running-the-2nd-Time-ISR-is-Invoked/m-p/288916#M9241</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva;"&gt;Hi,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva;"&gt;&lt;STRONG&gt;Situation: &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva;"&gt;I am receiving a character through UART when the MQX is running, the UART ISR is invoked and the task is running just fine.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva;"&gt;However, my debug session is halted at some time (1~1.5 sec) after the character has been sent (please refer to the image below).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva;"&gt;The task is still running (my LED is still toggling).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva;"&gt;Next, when I try to receive another character, the UART ISR is still invoked. But t&lt;/SPAN&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva; font-size: 10pt; line-height: 1.5em;"&gt;his time, the task is no longer running. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva; font-size: 10pt; line-height: 1.5em;"&gt;Any subsequent character received is invoking still the interrupt routine handler.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva; font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva; font-size: 10pt; line-height: 1.5em;"&gt;&lt;STRONG&gt;Observation:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva; font-size: 10pt; line-height: 1.5em;"&gt;1. MQX task is stop running when the 2nd time ISR is visited.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva; font-size: 10pt; line-height: 1.5em;"&gt;2. Might be related to TASK and ISR priority?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; font-size: 10pt; font-family: 'trebuchet ms', geneva;"&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva; font-size: 10pt; line-height: 1.5em;"&gt;Please help, thank you.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva; font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva; font-size: 10pt; line-height: 1.5em;"&gt;&lt;SPAN style="color: #ff6600;"&gt;&lt;STRONG&gt;Debug Session&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff6600; font-family: 'trebuchet ms', geneva;"&gt;&lt;STRONG&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="Untitled.png"&gt;&lt;IMG alt="Untitled.png" src="https://community.nxp.com/t5/image/serverpage/image-id/40050i0B6AA3932FCB3D21/image-size/large?v=v2&amp;amp;px=999" title="Untitled.png" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3366ff; font-family: 'trebuchet ms', geneva;"&gt;&lt;STRONG&gt;MQX Task Template&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_13746443439497582" jivemacro_uid="_13746443439497582"&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;TASK_TEMPLATE_STRUCT MQX_template_list[] = &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp; { TASK1, Task1, 1024, 8, "task1", MQX_AUTO_START_TASK },&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; { TASK2, Task2, 1024, 8, "task2", MQX_AUTO_START_TASK },&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; { 0, 0, 0, 0, 0, 0 } // end of template&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;};&lt;/SPAN&gt;&lt;/P&gt;








&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva;"&gt;&lt;STRONG&gt;&lt;SPAN style="color: #ff0000;"&gt;Task2&lt;/SPAN&gt;: Just a simple task to toggle a LED&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_13746443439169103" jivemacro_uid="_13746443439169103"&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;void Task2(uint_32 initial_data)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; while(1)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MY OWN IMPLEMENTATION: TOGGLE LED1 HERE */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _time_delay_ticks(100);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;}
&lt;/SPAN&gt;&lt;/P&gt;







&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva;"&gt;&lt;STRONG&gt;&lt;SPAN style="color: #ff0000;"&gt;Task1&lt;/SPAN&gt;: Initialize GPIO , UART and ISR&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_13746443438804728" jivemacro_uid="_13746443438804728"&gt;
&lt;P&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;/* GPIO Initialization for LED is not shown here */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;void Task2(uint_32 initial_data)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp; MY_ISR_STRUCT_PTR&amp;nbsp; isr_ptr;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp; // UART1 PIN ALTERNATIVE&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; PORTC_PCR3 |= PORT_PCR_MUX(0x03);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; // UART1 SYSTEM CLOCK GATING&lt;/P&gt;
&lt;P&gt;&amp;nbsp; SIM_SCGC4 |= SIM_SCGC4_UART1_MASK;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; // DISABLE UART1 TX AND RX&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART1_C2 &amp;amp;= (uint8_t)~(uint8_t)((UART_C2_TE_MASK | UART_C2_RE_MASK));&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; // CONFIGURE UART1 CONTROL 1&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART1_C1 = 0x00U;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; // CONFIGURE UART1 BAUD&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART1_BDH = UART_BDH_SBR(0x02);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART1_BDL = UART_BDL_SBR(0x8B);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART1_C4 = UART_C4_BRFA(0x01);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; // INSTALL UART1 ISR&lt;/P&gt;
&lt;P&gt;&amp;nbsp; isr_ptr = _mem_alloc_zero((_mem_size)sizeof(MY_ISR_STRUCT));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; isr_ptr-&amp;gt;TICK_COUNT = 0;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; isr_ptr-&amp;gt;OLD_ISR_DATA = _int_get_isr_data(INT_UART1_RX_TX);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; isr_ptr-&amp;gt;OLD_ISR = _int_get_isr(INT_UART1_RX_TX);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _int_install_isr(INT_UART1_RX_TX, new_tick_isr, isr_ptr);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _bsp_int_init(INT_UART1_RX_TX,2,2,TRUE);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; // CLEAR UART1 FLAGS&lt;/P&gt;
&lt;P&gt;&amp;nbsp; (void) UART1_S1; /* Dummy read of the UART1_S1 register to clear flags */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; (void) UART1_D;&amp;nbsp; /* Dummy read of the UART1_D register to clear flags */&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; // ENABLE UART1 TX AND RX&lt;/P&gt;
&lt;P&gt;&amp;nbsp; UART1_C2 = (UART_C2_RIE_MASK | UART_C2_RE_MASK);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _bsp_int_enable(INT_UART1_RX_TX);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; _time_delay_ticks(200);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; while(1)&lt;/P&gt;
&lt;P&gt;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _time_delay_ticks(100);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;







&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3366ff; font-family: 'trebuchet ms', geneva;"&gt;&lt;STRONG&gt;ISR Structure&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="_jivemacro_uid_13746443438544577 jive_text_macro jive_macro_code" jivemacro_uid="_13746443438544577"&gt;
&lt;P&gt;typedef struct my_isr_struct&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; pointer&amp;nbsp;&amp;nbsp;&amp;nbsp; OLD_ISR_DATA;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; void&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (_CODE_PTR_ OLD_ISR)(pointer);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; _mqx_uint&amp;nbsp; TICK_COUNT;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;} MY_ISR_STRUCT, _PTR_ MY_ISR_STRUCT_PTR;&lt;/P&gt;






&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms', geneva; color: #3366ff;"&gt;&lt;STRONG&gt;UART1 ISR&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_13746443438269392" jivemacro_uid="_13746443438269392"&gt;
&lt;P&gt;void new_tick_isr(pointer user_isr_ptr)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; MY_ISR_STRUCT_PTR&amp;nbsp; isr_ptr;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp; isr_ptr = (MY_ISR_STRUCT_PTR)user_isr_ptr;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; isr_ptr-&amp;gt;TICK_COUNT++;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; (*isr_ptr-&amp;gt;OLD_ISR)(isr_ptr-&amp;gt;OLD_ISR_DATA);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if (UART1_S1 &amp;amp; UART_S1_RDRF_MASK)&lt;/P&gt;
&lt;P&gt;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MY OWN IMPLEMENTATION: TOGGLE LED2 HERE */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void) UART1_D;&amp;nbsp; /* Dummy read of the UART1_D register to clear flags */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 9pt; line-height: 12pt;"&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;






&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 13:06:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Task-Stop-Running-the-2nd-Time-ISR-is-Invoked/m-p/288916#M9241</guid>
      <dc:creator>chiasyan</dc:creator>
      <dc:date>2020-11-02T13:06:59Z</dc:date>
    </item>
    <item>
      <title>Re: MQX Task Stop Running the 2nd Time ISR is Invoked</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Task-Stop-Running-the-2nd-Time-ISR-is-Invoked/m-p/288917#M9242</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;I found out that if I try to remove the line, e&lt;SPAN style="font-size: 10pt;"&gt;verything seems to work fine.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_13746557749832473" jivemacro_uid="_13746557749832473"&gt;
&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;(*isr_ptr-&amp;gt;OLD_ISR)(isr_ptr-&amp;gt;OLD_ISR_DATA); &lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'courier new', courier;"&gt;&lt;SPAN style="color: black;"&gt;/* Chain to the previous &lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;notifier&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: black; font-family: 'courier new', courier;"&gt; */&lt;/SPAN&gt;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;What is the function of this line of code?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jul 2013 08:51:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Task-Stop-Running-the-2nd-Time-ISR-is-Invoked/m-p/288917#M9242</guid>
      <dc:creator>chiasyan</dc:creator>
      <dc:date>2013-07-24T08:51:15Z</dc:date>
    </item>
    <item>
      <title>Re: MQX Task Stop Running the 2nd Time ISR is Invoked</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Task-Stop-Running-the-2nd-Time-ISR-is-Invoked/m-p/288918#M9243</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello chiasyan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my question would be why do you invoke the OLD_ISR code from your ISR? Where did you see this? I believe you copied it from somewhere if you have no clue what it does.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That line you removed, invoked again ISR routine, according to the pasted code. You can verify it with the value of that function pointer, it should point to the UART1 ISR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;0xc0170&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2013 06:26:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Task-Stop-Running-the-2nd-Time-ISR-is-Invoked/m-p/288918#M9243</guid>
      <dc:creator>c0170</dc:creator>
      <dc:date>2013-07-25T06:26:05Z</dc:date>
    </item>
  </channel>
</rss>

