<?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>MQX Software SolutionsのトピックWake up timer does not work correctly.</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/Wake-up-timer-does-not-work-correctly/m-p/235323#M6534</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I make the MCU MK60FN1M0VLQ12 to LLS mode and use the following function to set the wake up timer.&lt;/P&gt;&lt;P&gt;But every time, after I call the set_timer_wakeup fucntion, it will enter the timer_wakeup_isr intermediately.&lt;/P&gt;&lt;P&gt;And I put a LED_Toggle command after enter_lls() , it never run that instruction. It seems the wake up timer does not wake up the MCU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas about this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Daniel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;static void timer_wakeup_isr(pointer parameter)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint_32 timer = (uint_32)parameter;&lt;/EM&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Stop the timer */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lpt_run (timer, FALSE);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lpt_clear_int (timer);&lt;/EM&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Do not return to sleep after isr again */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lpm_wakeup_core ();&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;/*FUNCTION*-----------------------------------------------------&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;* Task Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : install_timer_interrupt&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;* Comments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Installs timer with period 10 seconds.&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*END*-----------------------------------------------------------*/&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;static void install_timer_interrupt (void)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPM_REGISTRATION_STRUCT registration;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint_32&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; dummy_handle;&lt;/EM&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Install the timer */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (MQX_OK != _lpt_install (0, 10 * 1000000, LPT_FLAG_CLOCK_SOURCE_LPO, 2, timer_wakeup_isr, TRUE))&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("\nError during installation of timer interrupt!\n");&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/EM&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Stop the timer */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lpt_run (0, FALSE);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;/*FUNCTION*-----------------------------------------------------&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;* Task Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : set_timer_wakeup&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;* Comments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Run timer with period set to 10 seconds.&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*END*-----------------------------------------------------------*/&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;static void set_timer_wakeup (void)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lpt_run (0, TRUE);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;void main()&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; install_timer_interrupt();&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set_timer_wakeup();&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enter_lls();&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; LED_Toggle;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //It never run this.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 16 Sep 2013 18:53:23 GMT</pubDate>
    <dc:creator>danielchai</dc:creator>
    <dc:date>2013-09-16T18:53:23Z</dc:date>
    <item>
      <title>Wake up timer does not work correctly.</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Wake-up-timer-does-not-work-correctly/m-p/235323#M6534</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I make the MCU MK60FN1M0VLQ12 to LLS mode and use the following function to set the wake up timer.&lt;/P&gt;&lt;P&gt;But every time, after I call the set_timer_wakeup fucntion, it will enter the timer_wakeup_isr intermediately.&lt;/P&gt;&lt;P&gt;And I put a LED_Toggle command after enter_lls() , it never run that instruction. It seems the wake up timer does not wake up the MCU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas about this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Daniel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;static void timer_wakeup_isr(pointer parameter)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint_32 timer = (uint_32)parameter;&lt;/EM&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Stop the timer */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lpt_run (timer, FALSE);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lpt_clear_int (timer);&lt;/EM&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Do not return to sleep after isr again */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lpm_wakeup_core ();&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;/*FUNCTION*-----------------------------------------------------&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;* Task Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : install_timer_interrupt&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;* Comments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Installs timer with period 10 seconds.&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*END*-----------------------------------------------------------*/&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;static void install_timer_interrupt (void)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPM_REGISTRATION_STRUCT registration;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint_32&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; dummy_handle;&lt;/EM&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Install the timer */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (MQX_OK != _lpt_install (0, 10 * 1000000, LPT_FLAG_CLOCK_SOURCE_LPO, 2, timer_wakeup_isr, TRUE))&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("\nError during installation of timer interrupt!\n");&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/EM&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Stop the timer */&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lpt_run (0, FALSE);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;/*FUNCTION*-----------------------------------------------------&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;* Task Name&amp;nbsp;&amp;nbsp;&amp;nbsp; : set_timer_wakeup&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;* Comments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Run timer with period set to 10 seconds.&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*END*-----------------------------------------------------------*/&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;static void set_timer_wakeup (void)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lpt_run (0, TRUE);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;void main()&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; install_timer_interrupt();&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set_timer_wakeup();&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enter_lls();&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; LED_Toggle;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //It never run this.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Sep 2013 18:53:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Wake-up-timer-does-not-work-correctly/m-p/235323#M6534</guid>
      <dc:creator>danielchai</dc:creator>
      <dc:date>2013-09-16T18:53:23Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up timer does not work correctly.</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Wake-up-timer-does-not-work-correctly/m-p/235324#M6535</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Under LLS mode: ARM core enters Deep Sleep Mode, HCLK=OFF, FCLK=OFF, wakeup should be triggered by LLWU pin or module source or Reset pin. &lt;/P&gt;&lt;P&gt;You can refer to K60 Reference Manual, Chapter 16, Low-Leakage Wake-up Unit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Sep 2013 05:12:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Wake-up-timer-does-not-work-correctly/m-p/235324#M6535</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2013-09-27T05:12:09Z</dc:date>
    </item>
  </channel>
</rss>

