<?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: Wake up on CAN receive in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713308#M14745</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have tried a "WAI" instruction instead of "STOP".&lt;/P&gt;&lt;P&gt;The WAI does not wake on an interrupt.&lt;/P&gt;&lt;P&gt;I tried without the debug interface connected, but once in SLEEP it does not wake up.&lt;/P&gt;&lt;P&gt;I think that I am missing something fundamental for wake from sleep.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Wade&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 11 Oct 2017 07:37:27 GMT</pubDate>
    <dc:creator>dastek</dc:creator>
    <dc:date>2017-10-11T07:37:27Z</dc:date>
    <item>
      <title>Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713302#M14739</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 have a working CAN interface code and now want the micro to go to sleep when there are no CAN messages on the bus and to wake on reception of a CAN message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To test this I have a variable I write to with the debug interface to tell it to sleep.&amp;nbsp; This works as I can see the current supply drop when I activate my sleep.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I send some CAN frames and nothing happens.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have 3 CAN interfaces active although only one will provide the wake up event.&amp;nbsp; I have code to re-initialise the other CANs inside their Wake interrupts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is a sample of my code.&amp;nbsp; For brevity I show only CAN0 where possible.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (Go_to_Sleep == 99)&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Test if I must sleep ?&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0CTL0 |= WUPE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN1CTL0 |= WUPE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN4CTL0 |= WUPE;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0RIER |= WUPIE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN1RIER |= WUPIE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN4RIER |= WUPIE;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0CTL0 |= SLPRQ;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Request sleep mode&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN1CTL0 |= SLPRQ;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Request sleep mode&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN4CTL0 |= SLPRQ;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Request sleep mode&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ((CAN0CTL1 &amp;amp; SLPAK) != 0) ;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Wait for SLPAK to == 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ((CAN1CTL1 &amp;amp; SLPAK) != 0) ;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Wait for SLPAK to == 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ((CAN4CTL1 &amp;amp; SLPAK) != 0) ;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Wait for SLPAK to == 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _asm ("ANDCC&amp;nbsp; #$7f");&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Clear S bit&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _asm ("nop");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _asm ("STOP");&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Enter STOP mode&lt;BR /&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;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Processor will now SLEEP here&lt;BR /&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;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// And wakeup here.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;ISR&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;&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; // Interrupt on wake&lt;BR /&gt;void Isr_CAN0_Wake(void)&amp;nbsp;&amp;nbsp; &amp;nbsp;// Triggers when the procesor wakes on a Can packet receive&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if ((CAN0CTL1 &amp;amp; INITAK) != 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; return;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Not initialised yet&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (((CAN0CTL0 &amp;amp; SLPRQ) != 0) &amp;amp;&amp;amp; ((CAN0CTL1 &amp;amp; SLPAK) == 0))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; return;&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;// Not yet in Sleep mode: cannot clear SLPRQ&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;else&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DisableInterrupts;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// SEI&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0RIER |= WUPIE;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// clear wakeup interrupt&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN1RIER |= WUPIE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN4RIER |= WUPIE;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EnableInterrupts;&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;// CLI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0CTL0 &amp;amp;= ~SLPRQ;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// clear SLPRQ&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN1CTL0 &amp;amp;= ~SLPRQ;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN4CTL0 &amp;amp;= ~SLPRQ;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Go_to_Sleep = 0;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Clear my Variable&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void CAN_Init_(void)&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; // CAN initialisation called at start up.&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0CTL0 |= INITRQ;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// set INITRQ, this will also set INITAK&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ((CAN0CTL1 &amp;amp; INITAK) != 1) ;&amp;nbsp;&amp;nbsp; &amp;nbsp;// wait for init mode to occur&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0CTL1 = CTL1;&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;// == CANE | BORM&lt;BR /&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; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0BTR0 = BTR0_500;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// == 0xc0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0BTR1 = BTR1_500;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// == 0x34&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0IDAC = IDAM0;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Four 16 bit acceptance filters&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Dont_care();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Setup Acceptance registers&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0CTL0 &amp;amp;= ~INITRQ;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// clear INITRQ.&amp;nbsp; Restart and synchronise&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while ((CAN0CTL1 &amp;amp; INITAK) != 0) ;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Wait for acknowledge&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0RIER = CSCIE | RSTATE0 | TSTATE0 | OVRIE | RXFIE;&amp;nbsp;&amp;nbsp; &amp;nbsp;// enable receive interrupt RXFIE&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0RFLG = WUPIF | OVRIF | RXF;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Reset Error Flags&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The CAN1 and CAN4 are initialised with the same values.&amp;nbsp; The Wake is also the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My debug interface disconnects when I enter sleep so this is rather difficult to debug.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you help?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Wade&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Sep 2017 08:47:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713302#M14739</guid>
      <dc:creator>dastek</dc:creator>
      <dc:date>2017-09-26T08:47:32Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713303#M14740</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;at the beginning. The MCU is MC9S12......&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I suppose some S12XE...but not sure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Ladislav&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Sep 2017 09:24:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713303#M14740</guid>
      <dc:creator>lama</dc:creator>
      <dc:date>2017-09-26T09:24:59Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713304#M14741</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes MC9s12XEQ384.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Wade&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Sep 2017 09:33:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713304#M14741</guid>
      <dc:creator>dastek</dc:creator>
      <dc:date>2017-09-26T09:33:28Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713305#M14742</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;it is not easy to say what is wrong because I do no see entire project.&lt;/P&gt;&lt;P&gt;If I were you I would check:&lt;/P&gt;&lt;P&gt;1) Whether the wakeup interrupt function is correctly defined&lt;/P&gt;&lt;P&gt;2) Whether "return" function is correctly assembled. it is not clear whether the function is interrupt or it is called from an interrupt function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is really hard to say the result if I am not able to see all project dependencies.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, I have found on my PC an examples where XEP100 - CAN stop mode EVB - CW47.zip wakes up the XEP100 - CAN stop mode - CW47.zip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;best regads,&lt;/P&gt;&lt;P&gt;Ladislav&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Sep 2017 11:03:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713305#M14742</guid>
      <dc:creator>lama</dc:creator>
      <dc:date>2017-09-27T11:03:34Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713306#M14743</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 restarted on the CAN wake up today.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I assumed that the clocks need to run to wakeup from a CAN receive.&amp;nbsp; I made CLKSEL.PSTP = 1.&lt;/P&gt;&lt;P&gt;This did not help.&amp;nbsp; I read that the micro will wakeup to any CAN receive, even if it is not for me, so clocks do not need to run.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I looked at the code supplied and it seems very simple:&lt;/P&gt;&lt;P&gt;&amp;nbsp; CANCTL0.WUPE = 1&lt;/P&gt;&lt;P&gt;&amp;nbsp; CANRIER.WUPIE = 1&lt;/P&gt;&lt;P&gt;and then&lt;/P&gt;&lt;P&gt;&amp;nbsp; wait for CANCTL1.SLPAK = 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I get my micro to go to sleep, as the current drops and the BDM looses connection.&amp;nbsp; But I have no joy at waking it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I then tried to execute the WAI instruction instead of STOP.&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I keep a Timer Input Capture interrupt event going it does not go to sleep and if I turn off my Timer input capture event, is goes to sleep, but does not wake.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have checked that the Interrupt vector is in the right place and that the code it jumps to is right and exits with an RTI.&lt;/P&gt;&lt;P&gt;At wake up I do the following:&lt;/P&gt;&lt;P&gt;&amp;nbsp; CANRIER.WUPIE = 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I do not see any way to acknowledge the CAN Wake interrupt.&amp;nbsp; Is this right?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am sure I only have something small I have wrong, but I do not see it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Wade Whitehorn&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Oct 2017 14:59:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713306#M14743</guid>
      <dc:creator>dastek</dc:creator>
      <dc:date>2017-10-06T14:59:20Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713307#M14744</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Have you tried to wake it on a port interrupt to see if the MCU can be woken up.&lt;/P&gt;&lt;P&gt;The MSCAN wakes up on any bus activity and it does not need clock.&lt;/P&gt;&lt;P&gt;And the first message cannot be acknowledged.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Oct 2017 19:14:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713307#M14744</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2017-10-09T19:14:59Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713308#M14745</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have tried a "WAI" instruction instead of "STOP".&lt;/P&gt;&lt;P&gt;The WAI does not wake on an interrupt.&lt;/P&gt;&lt;P&gt;I tried without the debug interface connected, but once in SLEEP it does not wake up.&lt;/P&gt;&lt;P&gt;I think that I am missing something fundamental for wake from sleep.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Wade&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Oct 2017 07:37:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713308#M14745</guid>
      <dc:creator>dastek</dc:creator>
      <dc:date>2017-10-11T07:37:27Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713309#M14746</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Please make sure you don't mask interrupts.&lt;/P&gt;&lt;P&gt;I would try to wake it up from Stop using a simple pin interrupt.&lt;/P&gt;&lt;P&gt;To see if it works.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Oct 2017 15:20:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713309#M14746</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2017-10-12T15:20:33Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713310#M14747</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 made the problem simpler.&amp;nbsp; I am using the WAI instruction, no going to SLEEP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the following interrupt sources :&lt;BR /&gt;&amp;nbsp; Interrupt on Timer Input capture 0, 1, 2, 3&lt;BR /&gt;&amp;nbsp; Pin interrupt on Port H 0&lt;BR /&gt;&amp;nbsp; Interrupt on CAN receive on CAN 0 and 1&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I use a WAI instruction as follows :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;STRONG&gt;EnableInterrupts&lt;/STRONG&gt;;&amp;nbsp;&amp;nbsp; &amp;nbsp;// CLI&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;for (;;)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ulong++;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ((CRGFLG &amp;amp; RTIF) == 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&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;// Wait for RTIF to set&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CRGFLG = &lt;STRONG&gt;RTIF&lt;/STRONG&gt;;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Clear RTIF flag&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;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Ulong == 0x200)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ulong = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _asm ("&lt;STRONG&gt;WAI&lt;/STRONG&gt;");&lt;BR /&gt;&amp;nbsp;&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; Reset_WatchDog;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My Ulong value will increment when I have a timer interrupt going, otherwise Port H and CAN interrupts do not wake the &lt;STRONG&gt;WAI&lt;/STRONG&gt;.&amp;nbsp; ie Ulong is always = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This happens with the debug interface connected and running, but not with it not connected.&amp;nbsp; Once the WAI is reached it never recovers.&amp;nbsp; I can monitor the Ulong value changing value.&amp;nbsp; I also have an external method of seeing that its working.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had to set the &lt;STRONG&gt;TSWAI&lt;/STRONG&gt; flag in TSCR1 to get the Timer input capture to work.&lt;BR /&gt;I tried &lt;STRONG&gt;CSWAI&lt;/STRONG&gt; flag in CAN0CTL0 and CAN1CTL0 but no different.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also added CLKSEL |= &lt;STRONG&gt;COPWAI&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have any suggestions?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Wade&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Oct 2017 11:31:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713310#M14747</guid>
      <dc:creator>dastek</dc:creator>
      <dc:date>2017-10-23T11:31:43Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713311#M14748</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Update....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I now get the micro to wake from the WAI for the CAN interrupts, the Timer Input Capture as well as the pin interrupt on Port H 0.&amp;nbsp; That is with the debug interface connected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I disconnect the debug interface, it makes outputs and sees CAN messages at start up.&amp;nbsp; When my timer runs out and the WAI is active then it will not wake even if all three interrupt sources are going at once.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Wade&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Oct 2017 14:39:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713311#M14748</guid>
      <dc:creator>dastek</dc:creator>
      <dc:date>2017-10-23T14:39:13Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713312#M14749</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Update 2 ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I decided to re-use Ladislav's code from "main.c" from G128-CAN-WakeUpfromSTOPand Sleep-CW51.zip&lt;/P&gt;&lt;P&gt;I used the one in CAN-SleepWakeUp-RxDevice-CW51.&lt;/P&gt;&lt;P&gt;I needed to make some modifications as I use 2 CAN interfaces, I use PLL and I am not using LOOP BACK mode on CAN.&lt;/P&gt;&lt;P&gt;I have an interrupt vector and code for CAN Wake.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once it goes to STOP, it never wakes up.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any idea what is needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Wade&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Oct 2017 10:02:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713312#M14749</guid>
      <dc:creator>dastek</dc:creator>
      <dc:date>2017-10-25T10:02:10Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713313#M14750</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Wade,&lt;/P&gt;&lt;P&gt;I really don't know.&lt;/P&gt;&lt;P&gt;Could you attach the project? So we can run it and see what it does.&lt;/P&gt;&lt;P&gt;If you don't want to share your projects publicly, you may create a ticket.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-329745"&gt;https://community.nxp.com/docs/DOC-329745&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Oct 2017 14:21:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713313#M14750</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2017-10-26T14:21:34Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713314#M14751</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 am happy to share my test project.&amp;nbsp; I use Cosmic C compiler for S12X so there are some small differences.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.dastek.co.za/Wake files.zip"&gt;&lt;/A&gt;&lt;A href="https://community.nxp.com/www.dastek.co.za/Wake" target="test_blank"&gt;www.dastek.co.za/Wake&lt;/A&gt; files.zip&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Wade&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Oct 2017 08:41:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713314#M14751</guid>
      <dc:creator>dastek</dc:creator>
      <dc:date>2017-10-27T08:41:53Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713315#M14752</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Thanks for the code.&lt;/P&gt;&lt;P&gt;Unfortunately, we don't use Cosmic so I cannot run it as it is and I haven't found the root cause yet.&lt;/P&gt;&lt;P&gt;But I will continue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 Oct 2017 21:08:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713315#M14752</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2017-10-31T21:08:55Z</dc:date>
    </item>
    <item>
      <title>Re: Wake up on CAN receive</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713316#M14753</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Why do you clear SLPRQ just before it enters Stop mode?&lt;/P&gt;&lt;P&gt;It should be like this:&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;CAN0CTL0 |= WUPE;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Enable Wake Up
CAN1CTL0 |= WUPE;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// WUPE allows restart from Sleep

CAN0RIER |= WUPIE;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Enable Wake Up Interrupt Enable
CAN1RIER |= WUPIE;

CAN0RFLG |= WUPIF;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Clear WUP Flag
CAN1RFLG |= WUPIF;

CAN0CTL0 |= SLPRQ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Request sleep mode, clock continues to run
CAN1CTL0 |= SLPRQ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Request sleep mode

while ((CAN0CTL1 &amp;amp; SLPAK) == 0) ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Wait for SLPAK to == 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
while ((CAN1CTL1 &amp;amp; SLPAK) == 0) ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Wait for SLPAK to == 1

_asm ("ANDCC&amp;nbsp; #$7f");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Clear S bit.&amp;nbsp; If not S is Set then STOP is disabled and it does a 2 cycle NOP
_asm ("nop");
_asm ("STOP");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Enter STOP mode&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 05 Nov 2017 22:23:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Wake-up-on-CAN-receive/m-p/713316#M14753</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2017-11-05T22:23:25Z</dc:date>
    </item>
  </channel>
</rss>

