<?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: Waking up from deep-sleep with timer32/WDTOSC in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533095#M3418</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ktownsend on Tue Apr 20 01:32:48 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: hfischer&lt;/STRONG&gt;&lt;BR /&gt;Maybe an NXP staff could probably give some further information, because an fault between documentation, manual and hardware is indisputable.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I sent an email to NXP, so hopefully that can clear the issue up whether the feature will remain in future revision, and brought this thread to their attention as well.&amp;nbsp; It's true the documentation isn't always that helpful where deep sleep and the other low power modes is concerned.&amp;nbsp; I'm sure they'll improve it in the future, though.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 02:56:19 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T02:56:19Z</dc:date>
    <item>
      <title>Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533051#M3374</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ktownsend on Fri Mar 26 10:58:30 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I've been trying to write some generic code to enter deep sleep mode with the LPC1114 (easy enough), and then wakeup after a fixed number of seconds using 32-bit timer 0 off WDTOSC. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Entering deep sleep is fine, but it I haven't been able to get the device to wakeup using the timer, and I'm really starting to scratch my head on this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;My apologies if the code below is partial, but I'm using a header file I wrote myself since I hate having magic-numbers everywhere [reg1 = 0xA033F300] ... it should be clear with the names what values are being set, though.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The methods below are used with the following test code in main:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; U32 pmuRegVal;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Configure wakeup sources before going into sleep/deep-sleep.
&amp;nbsp;&amp;nbsp;&amp;nbsp; // By default, pin 0.1 is configured as wakeup source (falling edge)
&amp;nbsp;&amp;nbsp;&amp;nbsp; pmuInit();
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Put peripherals into sleep mode (leave WDTOSC enabled)
&amp;nbsp;&amp;nbsp;&amp;nbsp; pmuRegVal = SCB_PDSLEEPCFG_IRCOUT_PD |
&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; SCB_PDSLEEPCFG_IRC_PD |
&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; SCB_PDSLEEPCFG_FLASH_PD |
&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; SCB_PDSLEEPCFG_BOD_PD |
&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; SCB_PDSLEEPCFG_ADC_PD |
&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; SCB_PDSLEEPCFG_SYSPLL_PD;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enter deep sleep mode (wakeup after 5 seconds)
&amp;nbsp;&amp;nbsp;&amp;nbsp; pmuDeepSleep(pmuRegVal, 5);&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It's a long read, but here are the key methods if someone is brave enough to look through them. If there are any clear examples of waking up from deep sleep on a timer capture that would be useful as well.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kevin.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt; 
/**************************************************************************/
/*! 
&amp;nbsp;&amp;nbsp;&amp;nbsp; \brief Initialises the power management unit
&amp;nbsp;&amp;nbsp;&amp;nbsp; Initialise the power management unit, and configure pin 0.1 to act as
&amp;nbsp;&amp;nbsp;&amp;nbsp; a wakeup source from sleep or deep-sleep mode.
&amp;nbsp;&amp;nbsp;&amp;nbsp; For sleep and deep-sleep modes, entered via pmuSleep(), P0.0..11 and
&amp;nbsp;&amp;nbsp;&amp;nbsp; P1.0 can be used as a wakeup source.&amp;nbsp; For deep power-down mode, entered
&amp;nbsp;&amp;nbsp;&amp;nbsp; via pmuPowerDown(), only a low level on pin 1.4 (WAKEUP) can wake the
&amp;nbsp;&amp;nbsp;&amp;nbsp; device up.
*/
/**************************************************************************/
void pmuInit( void )
{
&amp;nbsp; /* Enable all clocks, even those turned off at power up. */
&amp;nbsp; SCB_PDRUNCFG &amp;amp;= ~(SCB_PDRUNCFG_WDTOSC_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; SCB_PDRUNCFG_SYSOSC_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; SCB_PDRUNCFG_ADC_MASK);
&amp;nbsp; /* Enable wakeup interrupts (P0.1..11 and P1.0 can be used) */
&amp;nbsp; NVIC_EnableIRQ(WAKEUP1_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // P0.1
&amp;nbsp; /* Configure pin 0.1 as wakeup source (MAT2 on 32-bit Timer 0) */
&amp;nbsp; IOCON_PIO0_1 &amp;amp;= ~IOCON_PIO0_1_FUNC_MASK;
&amp;nbsp; IOCON_PIO0_1 |= (IOCON_PIO0_1_FUNC_GPIO |
&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; IOCON_PIO0_1_HYS_ENABLE);
&amp;nbsp; /* Set pins to input for wakeup */
&amp;nbsp; gpioSetDir( 0, 1, gpioDirection_Input );
&amp;nbsp; /* Only edge trigger. activation polarity on P0.1 is FALLING EDGE. */
&amp;nbsp; SCB_STARTAPRP0 = ~SCB_STARTAPRP0_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ~0xFFFFFFFF;
&amp;nbsp; /* Clear all wakeup source */ 
&amp;nbsp; SCB_STARTRSRP0CLR = SCB_STARTRSRP0CLR_MASK;
&amp;nbsp; /* Enable Port 0.1 as wakeup source. */
&amp;nbsp; SCB_STARTERP0 |= SCB_STARTERP0_ERPIO0_1;
&amp;nbsp; return;
}
/**************************************************************************/
/*! 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Setup the clock for the watchdog timer.&amp;nbsp; The default setting is 10kHz.
*/
/**************************************************************************/
static void pmuWDTClockInit (void)
{
&amp;nbsp; /* Configure watchdog clock */
&amp;nbsp; /* Freq. = 0.5MHz, div = 50: WDT_OSC = 10kHz&amp;nbsp; */
&amp;nbsp; SCB_WDTOSCCTRL = SCB_WDTOSCCTRL_FREQSEL_0_5MHZ | 
&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; SCB_WDTOSCCTRL_DIVSEL_DIV50;
&amp;nbsp; /* Set clock source (use external crystal) */
&amp;nbsp; SCB_WDTCLKSEL = SCB_WDTCLKSEL_SOURCE_INPUTCLOCK;
&amp;nbsp; SCB_WDTCLKUEN = SCB_WDTCLKUEN_UPDATE;
&amp;nbsp; SCB_WDTCLKUEN = SCB_WDTCLKUEN_DISABLE;
&amp;nbsp; SCB_WDTCLKUEN = SCB_WDTCLKUEN_UPDATE;
&amp;nbsp; /* Wait until updated */
&amp;nbsp; while (!(SCB_WDTCLKUEN &amp;amp; SCB_WDTCLKUEN_UPDATE));
&amp;nbsp; /* Set divider */
&amp;nbsp; SCB_WDTCLKDIV = SCB_WDTCLKDIV_DIV1;
&amp;nbsp; /* Enable WDT clock */
&amp;nbsp; SCB_PDRUNCFG &amp;amp;= ~(SCB_PDRUNCFG_WDTOSC);
&amp;nbsp; // Switch main clock to WDT output
&amp;nbsp; SCB_MAINCLKSEL = SCB_MAINCLKSEL_SOURCE_WDTOSC;
&amp;nbsp; SCB_MAINCLKUEN = SCB_MAINCLKUEN_UPDATE;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Update clock source
&amp;nbsp; SCB_MAINCLKUEN = SCB_MAINCLKUEN_DISABLE;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Toggle update register once
&amp;nbsp; SCB_MAINCLKUEN = SCB_MAINCLKUEN_UPDATE;
&amp;nbsp; // Wait until the clock is updated
&amp;nbsp; while (!(SCB_MAINCLKUEN &amp;amp; SCB_MAINCLKUEN_UPDATE));
}
/**************************************************************************/
/*! 
&amp;nbsp;&amp;nbsp;&amp;nbsp; \brief&amp;nbsp; Turns off select peripherals and puts the device in deep-sleep
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode.
&amp;nbsp;&amp;nbsp;&amp;nbsp; This function will put the device into deep-sleep mode.&amp;nbsp; Most gpio
&amp;nbsp;&amp;nbsp;&amp;nbsp; pins can be used to wake the device up, but the pins must first be
&amp;nbsp;&amp;nbsp;&amp;nbsp; configured for this in pmuInit.&amp;nbsp; By default, only pin 0.1 (ISP) is
&amp;nbsp;&amp;nbsp;&amp;nbsp; configured as a wakeup source.
&amp;nbsp;&amp;nbsp;&amp;nbsp; The device can be configured to wakeup from deep-sleep mode after a
&amp;nbsp;&amp;nbsp;&amp;nbsp; specified delay with the wakeupSeconds parameter.&amp;nbsp; This will configure
&amp;nbsp;&amp;nbsp;&amp;nbsp; 32-bit timer 0 to set a match on pin 0.1 (ISP), which will wakeup
&amp;nbsp;&amp;nbsp;&amp;nbsp; the device up.&amp;nbsp; The timer will be configured to run off the WDT OSC
&amp;nbsp;&amp;nbsp;&amp;nbsp; while in deep-sleep mode, meaning that WDTOSC should not be powered
&amp;nbsp;&amp;nbsp;&amp;nbsp; off (using the sleepCtrl parameter) when a wakeup delay is specified.
&amp;nbsp;&amp;nbsp;&amp;nbsp; The sleepCtrl parameter is used to indicate which peripherals should
&amp;nbsp;&amp;nbsp;&amp;nbsp; be put in sleep mode (see the SCB_PDSLEEPCFG register for details).
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; @param[in]&amp;nbsp; sleepCtrl&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; The bits to set in the SCB_PDSLEEPCFG register.&amp;nbsp; This
&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; controls which peripherals will be put in sleep mode.
&amp;nbsp;&amp;nbsp;&amp;nbsp; @param[in]&amp;nbsp; wakeupSeconds
&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; The number of seconds to wait until the device will
&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; wakeup.&amp;nbsp; If you do not wish to wakeup after a specific
&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; delay, enter a value of 0.
*/
/**************************************************************************/
void pmuDeepSleep(U32 sleepCtrl, U32 wakeupSeconds)
{
&amp;nbsp; SCB_PDAWAKECFG = SCB_PDRUNCFG;
&amp;nbsp; sleepCtrl &amp;amp;= ~(1 &amp;lt;&amp;lt; 9);&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; // MAIN_REGUL_PD
&amp;nbsp; sleepCtrl |= (1 &amp;lt;&amp;lt; 11) | (1 &amp;lt;&amp;lt; 12);&amp;nbsp;&amp;nbsp; // LP_REGUL_PD
&amp;nbsp; SCB_PDSLEEPCFG = sleepCtrl;
&amp;nbsp; SCB_SCR |= SCB_SCR_SLEEPDEEP;
&amp;nbsp; /* Configure system to run from WDT and set TMR32B0 for wakeup&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp; if (wakeupSeconds &amp;gt; 0)
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Make sure WDTOSC isn't disabled in PDSLEEPCFG
&amp;nbsp;&amp;nbsp;&amp;nbsp; SCB_PDSLEEPCFG &amp;amp;= ~(SCB_PDSLEEPCFG_WDTOSC_PD);
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Disable 32-bit timer 0 if currently in use
&amp;nbsp;&amp;nbsp;&amp;nbsp; timer32Disable(0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reconfigure clock to run from WDTOSC
&amp;nbsp;&amp;nbsp;&amp;nbsp; pmuWDTClockInit();
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable the clock for CT32B0 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; SCB_SYSAHBCLKCTRL |= (SCB_SYSAHBCLKCTRL_CT32B0);
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure PIO0.1 as Timer0_32 MAT2 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PIO0_1 &amp;amp;= ~IOCON_PIO0_1_FUNC_MASK;
&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PIO0_1 |= IOCON_PIO0_1_FUNC_CT32B0_MAT2;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set appropriate timer delay */
&amp;nbsp;&amp;nbsp;&amp;nbsp; TMR_TMR32B0MR0 = PMU_WDTCLOCKSPEED_HZ * wakeupSeconds;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure match control register to raise an interrupt and reset on MR0 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; TMR_TMR32B0MCR = (TMR_TMR32B0MCR_MR0_INT_ENABLED | TMR_TMR32B0MCR_MR0_RESET_ENABLED);
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure external match register */
&amp;nbsp;&amp;nbsp;&amp;nbsp; TMR_TMR32B0EMR &amp;amp;= ~(0xFF&amp;lt;&amp;lt;4);&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; // Clear EMR config bits
&amp;nbsp;&amp;nbsp;&amp;nbsp; TMR_TMR32B0EMR |= TMR_TMR32B0EMR_EMC2_TOGGLE;&amp;nbsp;&amp;nbsp; // MR2 (GPIO0.1) Toggle
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable the TIMER0 interrupt */
&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_EnableIRQ(TIMER_32_0_IRQn);
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Start the timer */
&amp;nbsp;&amp;nbsp;&amp;nbsp; TMR_TMR32B0TCR = TMR_TMR32B0TCR_COUNTERENABLE_ENABLED;
&amp;nbsp; }
&amp;nbsp; // Send Wait For Interrupt command
&amp;nbsp; __asm volatile ("WFI");
&amp;nbsp; return;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533051#M3374</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:50Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533052#M3375</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by yanzhongsan on Fri Mar 26 18:43:57 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;what is your compiler? IAR or LPCXpresso&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533052#M3375</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:51Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533053#M3376</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by bigamer on Mon Apr 05 20:12:41 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;What's the progress of Waking up from deep-sleep with timer32 using WDTOSC? :)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533053#M3376</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:51Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533054#M3377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by hfischer on Mon Apr 05 23:17:38 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;KTownsend you try to toggle the Pin which is the wakeup irq pin without an loopback from a other pin, right?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I dont know, if this is possible. I realized a timer match wakeup from deep sleep by an loopback.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Connecting the matchpin with one of the possible wakeup irq pins runs perfect.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Does the timer match toggle the pin, did you check this?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533054#M3377</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:52Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533055#M3378</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ktownsend on Tue Apr 06 05:51:35 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: hfischer&lt;/STRONG&gt;&lt;BR /&gt;Hi,&lt;BR /&gt; &lt;BR /&gt;KTownsend you try to toggle the Pin which is the wakeup irq pin without an loopback from a other pin, right?&lt;BR /&gt;I dont know, if this is possible. I realized a timer match wakeup from deep sleep by an loopback.&lt;BR /&gt;Connecting the matchpin with one of the possible wakeup irq pins runs perfect.&lt;BR /&gt;Does the timer match toggle the pin, did you check this?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If I understand correctly, when a match occurs on 0.1 (CT32B0_MAT2), I toggle (for example) pin 0.3, assuming 0.3 is configured as a wakeup source?&amp;nbsp; I don't suppose you would be able to post a few lines of code showing how you got it working, since that would probably be the clearest way to see how to go about setting the HW up.&amp;nbsp; Thanks for the tip, though.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kevin.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533055#M3378</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:52Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533056#M3379</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by hfischer on Tue Apr 06 06:40:34 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;yes this is exactly what i mean. But here you get the Init for the Pin and the timer. Maybe it helps &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;&amp;nbsp; //Wakeup-IRQ Pin0_2
&amp;nbsp; LPC_SYSCON-&amp;gt;STARTRSRP0CLR |= BIT2; // reset startlogic Pin 2 pending
&amp;nbsp; LPC_SYSCON-&amp;gt;STARTAPRP0|=BIT2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // rising edge for IRQ detection
&amp;nbsp; LPC_SYSCON-&amp;gt;STARTERP0|=BIT2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // enable the IRQ signal in start logic
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
void TIMER_16_1_WakeUp_Init(uint16_t u16_M0_Value)
{
&amp;nbsp; LPC_SYSCON-&amp;gt;SYSAHBCLKCTRL |= BIT8;&amp;nbsp;&amp;nbsp;&amp;nbsp; // enable AHBclock to access
&amp;nbsp; LPC_TMR16B1-&amp;gt;MR0 = u16_M0_Value;
&amp;nbsp; LPC_TMR16B1-&amp;gt;MCR = BIT1;&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 on MR0
&amp;nbsp; LPC_TMR16B1-&amp;gt;EMR = BIT4|BIT5;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // toggle Match0 Pin

&amp;nbsp; LPC_TMR16B1-&amp;gt;PWMC = BIT0;
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533056#M3379</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:53Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533057#M3380</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ktownsend on Tue Apr 06 15:15:00 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: hfischer&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Connecting the matchpin with one of the possible wakeup irq pins runs perfect.&lt;BR /&gt;Does the timer match toggle the pin, did you check this?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I've been testing this a bit more to see if I can get it to work with only one pin (it would be a shame to have to use two pins just to wakeup from deep sleep).&amp;nbsp; The MAT pin (0.1/CT32B0_MAT2) is definately toggling every 5s after entering deep-sleep, but if I configure 0.1 as a wakeup source it never seems to enter the wakeup ISR.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If I physically connect 0.1 to 0.11, and configure 0.11 as a wakeup it works fine ... but it means I have to connect the two pins together on the PCB which I really hate.&amp;nbsp; I'll have to see if I can get an answer from NXP about whether this can be done with only one pin.&amp;nbsp; Thanks for your help, though, getting it to work with two pins.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kevin.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533057#M3380</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:54Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533058#M3381</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ktownsend on Tue Apr 06 16:58:34 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;hfischer:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I was able to get it working with just one pin. I'm not sure how useful this is since it's using a custom header file, but it should still be understandable as psuedo-code&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;There are still a few issues to work out, but now that I can at least wakeup predictably the rest should be relatively trivial to work out (reconfiguring the system clock after wakeup, etc.).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kevin&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt; 
/**************************************************************************/
/*! 
&amp;nbsp;&amp;nbsp;&amp;nbsp; @brief&amp;nbsp; Turns off select peripherals and puts the device in deep-sleep
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode.
&amp;nbsp;&amp;nbsp;&amp;nbsp; The device can be configured to wakeup from deep-sleep mode after a
&amp;nbsp;&amp;nbsp;&amp;nbsp; specified delay by supplying a non-zero value to the wakeupSeconds
&amp;nbsp;&amp;nbsp;&amp;nbsp; parameter.&amp;nbsp; This will configure CT32B0 to toggle pin 0.1 (CT32B0_MAT2)
&amp;nbsp;&amp;nbsp;&amp;nbsp; after x seconds, waking the device up.&amp;nbsp; The timer will be configured
&amp;nbsp;&amp;nbsp;&amp;nbsp; to run off the WDT OSC while in deep-sleep mode, meaning that WDTOSC
&amp;nbsp;&amp;nbsp;&amp;nbsp; should not be powered off (using the sleepCtrl parameter) when a
&amp;nbsp;&amp;nbsp;&amp;nbsp; wakeup delay is specified.
&amp;nbsp;&amp;nbsp;&amp;nbsp; The sleepCtrl parameter is used to indicate which peripherals should
&amp;nbsp;&amp;nbsp;&amp;nbsp; be put in sleep mode (see the SCB_PDSLEEPCFG register for details).
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; @param[in]&amp;nbsp; sleepCtrl&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; The bits to set in the SCB_PDSLEEPCFG register.&amp;nbsp; This
&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; controls which peripherals will be put in sleep mode.
&amp;nbsp;&amp;nbsp;&amp;nbsp; @param[in]&amp;nbsp; wakeupSeconds
&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; The number of seconds to wait until the device will
&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; wakeup.&amp;nbsp; If you do not wish to wakeup after a specific
&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; delay, enter a value of 0.
&amp;nbsp;&amp;nbsp;&amp;nbsp; @code 
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t pmuRegVal;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Configure wakeup sources before going into sleep/deep-sleep
&amp;nbsp;&amp;nbsp;&amp;nbsp; // By default, pin 0.1 is configured as wakeup source
&amp;nbsp;&amp;nbsp;&amp;nbsp; pmuInit();
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Put peripherals into sleep mode
&amp;nbsp;&amp;nbsp;&amp;nbsp; pmuRegVal = SCB_PDSLEEPCFG_IRCOUT_PD |
&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; SCB_PDSLEEPCFG_IRC_PD |
&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; SCB_PDSLEEPCFG_FLASH_PD |
&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; SCB_PDSLEEPCFG_BOD_PD |
&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; SCB_PDSLEEPCFG_ADC_PD |
&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; SCB_PDSLEEPCFG_SYSPLL_PD;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enter deep sleep mode (wakeup after 5 seconds)
&amp;nbsp;&amp;nbsp;&amp;nbsp; pmuDeepSleep(pmuRegVal, 5);
&amp;nbsp;&amp;nbsp;&amp;nbsp; @endcode
*/
/**************************************************************************/
void pmuDeepSleep(uint32_t sleepCtrl, uint32_t wakeupSeconds)
{
&amp;nbsp; SCB_PDAWAKECFG = SCB_PDRUNCFG;
&amp;nbsp; sleepCtrl &amp;amp;= ~(1 &amp;lt;&amp;lt; 9);&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; // MAIN_REGUL_PD
&amp;nbsp; sleepCtrl |= (1 &amp;lt;&amp;lt; 11) | (1 &amp;lt;&amp;lt; 12);&amp;nbsp;&amp;nbsp; // LP_REGUL_PD
&amp;nbsp; SCB_PDSLEEPCFG = sleepCtrl;
&amp;nbsp; SCB_SCR |= SCB_SCR_SLEEPDEEP;
 
&amp;nbsp; /* Configure system to run from WDT and set TMR32B0 for wakeup&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp; if (wakeupSeconds &amp;gt; 0)
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Make sure WDTOSC isn't disabled in PDSLEEPCFG
&amp;nbsp;&amp;nbsp;&amp;nbsp; SCB_PDSLEEPCFG &amp;amp;= ~(SCB_PDSLEEPCFG_WDTOSC_PD);
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Disable 32-bit timer 0 if currently in use
&amp;nbsp;&amp;nbsp;&amp;nbsp; timer32Disable(0);
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reconfigure clock to run from WDTOSC
&amp;nbsp;&amp;nbsp;&amp;nbsp; pmuWDTClockInit();
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable the clock for CT32B0 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; SCB_SYSAHBCLKCTRL |= (SCB_SYSAHBCLKCTRL_CT32B0);
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure 0.1 as Timer0_32 MAT2 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PIO0_1 &amp;amp;= ~IOCON_PIO0_1_FUNC_MASK;
&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PIO0_1 |= IOCON_PIO0_1_FUNC_CT32B0_MAT2;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set appropriate timer delay */
&amp;nbsp;&amp;nbsp;&amp;nbsp; TMR_TMR32B0MR0 = PMU_WDTCLOCKSPEED_HZ * wakeupSeconds;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure match control register to raise an interrupt and reset on MR0 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; TMR_TMR32B0MCR |= (TMR_TMR32B0MCR_MR0_INT_ENABLED | TMR_TMR32B0MCR_MR0_RESET_ENABLED);
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure external match register to set 0.1 high on match */
&amp;nbsp;&amp;nbsp;&amp;nbsp; TMR_TMR32B0EMR &amp;amp;= ~(0xFF&amp;lt;&amp;lt;4);&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; // Clear EMR config bits
&amp;nbsp;&amp;nbsp;&amp;nbsp; TMR_TMR32B0EMR |= TMR_TMR32B0EMR_EMC2_HIGH;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Set MR2 (0.1) high on match
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Use RISING EDGE for wakeup detection. */
&amp;nbsp;&amp;nbsp;&amp;nbsp; SCB_STARTAPRP0 |= SCB_STARTAPRP0_APRPIO0_1;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear all wakeup sources */ 
&amp;nbsp;&amp;nbsp;&amp;nbsp; SCB_STARTRSRP0CLR = SCB_STARTRSRP0CLR_MASK;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable Port 0.1 as wakeup source. */
&amp;nbsp;&amp;nbsp;&amp;nbsp; SCB_STARTERP0 |= SCB_STARTERP0_ERPIO0_1;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable wakeup interrupt (P0.1..11 and P1.0 can be used) */
&amp;nbsp;&amp;nbsp;&amp;nbsp; //NVIC_EnableIRQ(WAKEUP0_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp; // P0.0
&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_EnableIRQ(WAKEUP1_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // P0.1&amp;nbsp; (CT32B0_MAT2)
&amp;nbsp;&amp;nbsp;&amp;nbsp; //NVIC_EnableIRQ(WAKEUP2_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp; // P0.2
&amp;nbsp;&amp;nbsp;&amp;nbsp; //NVIC_EnableIRQ(WAKEUP3_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp; // P0.3
&amp;nbsp;&amp;nbsp;&amp;nbsp; //NVIC_EnableIRQ(WAKEUP4_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp; // P0.4
&amp;nbsp;&amp;nbsp;&amp;nbsp; //NVIC_EnableIRQ(WAKEUP5_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp; // P0.5
&amp;nbsp;&amp;nbsp;&amp;nbsp; //NVIC_EnableIRQ(WAKEUP6_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp; // P0.6
&amp;nbsp;&amp;nbsp;&amp;nbsp; //NVIC_EnableIRQ(WAKEUP7_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp; // P0.7
&amp;nbsp;&amp;nbsp;&amp;nbsp; //NVIC_EnableIRQ(WAKEUP8_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp; // P0.8
&amp;nbsp;&amp;nbsp;&amp;nbsp; //NVIC_EnableIRQ(WAKEUP9_IRQn);&amp;nbsp;&amp;nbsp;&amp;nbsp; // P0.9
&amp;nbsp;&amp;nbsp;&amp;nbsp; //NVIC_EnableIRQ(WAKEUP10_IRQn);&amp;nbsp;&amp;nbsp; // P0.10
&amp;nbsp;&amp;nbsp;&amp;nbsp; //NVIC_EnableIRQ(WAKEUP11_IRQn);&amp;nbsp;&amp;nbsp; // P0.11 (CT32B0_MAT3)
&amp;nbsp;&amp;nbsp;&amp;nbsp; //NVIC_EnableIRQ(WAKEUP12_IRQn);&amp;nbsp;&amp;nbsp; // P1.0
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Start the timer */
&amp;nbsp;&amp;nbsp;&amp;nbsp; TMR_TMR32B0TCR = TMR_TMR32B0TCR_COUNTERENABLE_ENABLED;
&amp;nbsp; }
&amp;nbsp; // Send Wait For Interrupt command
&amp;nbsp; __asm volatile ("WFI");
&amp;nbsp; return;
}
 
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533058#M3381</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:54Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533059#M3382</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by bigamer on Tue Apr 06 19:00:49 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Kevin,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;How much is the power consumption after MCU entered Deep-sleep with your "just one pin" wake-up method? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In my opinion, the loopback with two pin is much more reasonable, just like this, a timer match-out on the port pin will fed back into the startlogic to wake up the MCU.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533059#M3382</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:55Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533060#M3383</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ktownsend on Tue Apr 06 19:45:03 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: bigamer&lt;/STRONG&gt;&lt;BR /&gt;Hi Kevin,&lt;BR /&gt; &lt;BR /&gt;How much is the power consumption after MCU entered Deep-sleep with your "just one pin" wake-up method? &lt;BR /&gt;In my opinion, the loopback with two pin is much more reasonable, just like this, a timer match-out on the port pin will fed back into the startlogic to wake up the MCU.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't think there is any difference in power consumption if you use one pin or two. I get 250uA if I go directly into deep sleep with no timer to wakeup (which is high, but I have a number of parts of the board and I'm not shutting every peripheral off in deep sleep). If I setup a timer to cause a wakeup after 5 seconds, I get the exact same 250uA.&amp;nbsp; I had to set the MAT2 to switch from low to high on match for lowest power, but there's no difference between using one pin or two in power consumption, except you lose one less pin.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533060#M3383</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:56Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533061#M3384</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by bigamer on Tue Apr 06 21:26:11 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: KTownsend&lt;/STRONG&gt;&lt;BR /&gt;I don't think there is any difference in power consumption if you use one pin or two. I get 250uA if I go directly into deep sleep with no timer to wakeup (which is high, but I have a number of parts of the board and I'm not shutting every peripheral off in deep sleep). If I setup a timer to cause a wakeup after 5 seconds, I get the exact same 250uA. I had to set the MAT2 to switch from low to high on match for lowest power, but there's no difference between using one pin or two in power consumption, except you lose one less pin.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Kevin, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for your test!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you upload the total project that you just test with?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533061#M3384</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:56Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533062#M3385</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by hfischer on Wed Apr 07 00:59:25 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Kevin,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks for your test and the code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I will try it in time. I have a power consumption of 11 to 8.5 microA depending on the MCU (two have 11 and one had 8.5 until killing it with dc-voltage-supply :p ).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So I have to see, if the one-pin solution will work with identical power-consumption. It is really important for me to save power in the deep-sleep but wake up periodically.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks a lot and regards.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533062#M3385</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:57Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533063#M3386</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ktownsend on Wed Apr 07 03:19:30 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: hfischer&lt;/STRONG&gt;&lt;BR /&gt;Hi Kevin,&lt;BR /&gt; &lt;BR /&gt;thanks for your test and the code.&lt;BR /&gt;I will try it in time. I have a power consumption of 11 to 8.5 microA depending on the MCU (two have 11 and one had 8.5 until killing it with dc-voltage-supply :p ).&lt;BR /&gt; &lt;BR /&gt;So I have to see, if the one-pin solution will work with identical power-consumption. It is really important for me to save power in the deep-sleep but wake up periodically.&lt;BR /&gt; &lt;BR /&gt;Thanks a lot and regards.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'd be surprised if there is a difference. I just switched everything to use the IRC when going into deep sleep (which is recommended anyway), and this gets me down to 70uA in deep sleep (compared to 250uA with the external crystal) with CT32B0 running off WDTOSC at 10khz. Most of that 70uA is external peripherals, though I might be able to shave a bit off by fine tuning some pins, etc.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533063#M3386</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:58Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533064#M3387</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by bigamer on Wed Apr 07 18:07:00 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Good job!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533064#M3387</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:58Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533065#M3388</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by bigamer on Thu Apr 08 21:14:34 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: KTownsend&lt;/STRONG&gt;&lt;BR /&gt;I'd be surprised if there is a difference. I just switched everything to use the IRC when going into deep sleep (which is recommended anyway), and this gets me down to 70uA in deep sleep (compared to 250uA with the external crystal) with CT32B0 running off WDTOSC at 10khz. Most of that 70uA is external peripherals, though I might be able to shave a bit off by fine tuning some pins, etc.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Kevin,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;How to test your code to wake device up periodically? Can I have a look your main() function? Thanks in advance!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533065#M3388</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:59Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533066#M3389</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ktownsend on Sun Apr 11 13:09:53 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: bigamer&lt;/STRONG&gt;&lt;BR /&gt;Hi Kevin,&lt;BR /&gt; &lt;BR /&gt;How to test your code to wake device up periodically? Can I have a look your main() function? Thanks in advance!&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If you look in the comments, you can see the code required.&amp;nbsp; But you will need to modify the code to use the CMSIS header files, etc.&amp;nbsp; It should really be treated as psuedo-code, but it should be clear if you look at it with the user manual open, and try to reproduce the same code yourself.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I haven't published the M0/LPC1114 code yet since it is still in progress, but if you are unsure about certain values in the header file the file I made for the LPC1343 should be identical for PMU and the timer:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://code.google.com/p/lpc1343codebase/source/browse/trunk/lpc134x.h&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kevin.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:55:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533066#M3389</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:55:59Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533067#M3390</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by hfischer on Fri Apr 16 01:44:23 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Kevin,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;trying the code snippet, you posted, I'm wondering about setting M0 and M2 registers for only one pin synchron reset event? Is it an error, or do your really use this code as it is mentioned?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks a lot,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:56:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533067#M3390</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:56:00Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533068#M3391</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ktownsend on Fri Apr 16 01:53:17 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: hfischer&lt;/STRONG&gt;&lt;BR /&gt;Hi Kevin,&lt;BR /&gt; &lt;BR /&gt;trying the code snippet, you posted, I'm wondering about setting M0 and M2 registers for only one pin synchron reset event? Is it an error, or do your really use this code as it is mentioned?&lt;BR /&gt; &lt;BR /&gt;Regards&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You only need one ... I must have forgotten to remove something since I tested a number of combinations to get everything working.&amp;nbsp; Sorry.&amp;nbsp; I'll have to go through the code again and make sure there's no 'leftovers'. :-)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kevin.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:56:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533068#M3391</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:56:01Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533069#M3392</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by johnhe on Fri Apr 16 18:43:58 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Kevin&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You reported on another forum you would try my sample code from this forum that achieves 6uA in deep sleep.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; I would appreciate if you inform us&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 1) If you did in fact try my sample code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 2) If you did, do you agree or disagree with my results.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; John Heenan&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: KTownsend&lt;/STRONG&gt;&lt;BR /&gt;I'd be surprised if there is a difference. I just switched everything to use the IRC when going into deep sleep (which is recommended anyway), and this gets me down to 70uA in deep sleep (compared to 250uA with the external crystal) with CT32B0 running off WDTOSC at 10khz. Most of that 70uA is external peripherals, though I might be able to shave a bit off by fine tuning some pins, etc.&lt;/SPAN&gt;&lt;HR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:56:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533069#M3392</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:56:01Z</dc:date>
    </item>
    <item>
      <title>Re: Waking up from deep-sleep with timer32/WDTOSC</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533070#M3393</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by johnhe on Sat Apr 17 02:38:41 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There appears to be a lot of confusion. Hopefully this will help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; From the LPC111x user manual section 3.7.3:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; "In Deep-sleep mode (see Section 3–8) for details), the chip is in Sleep mode, the system clock is disabled,"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; So what is the system clock?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; From the LPC111x user manual section 3.4.11:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; "The main system clock clocks the core, the peripherals, and the memories."&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; So in deep sleep, the clock is disabled higher up the hierarchy than for normal sleep. Normal sleep just disables the clock to the core. For sleep purposes the interrupt controller (NVIC) should be considered a peripheral and not part of the core.&amp;nbsp; The interrupt controller also requires a clock. For deep sleep 'start logic' connected to pins provides a workaround to this requirement.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Since the system clock is disabled in deep sleep there is a disconnect between a relevant oscillator that may not be shut down during deep sleep and between timer peripherals.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; While a timer peripheral will wake up from normal sleep, a timer peripheral cannot be used to wake up from deep sleep with the LPC1114, even if its oscillator is not shut down.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; There is no separate RTC domain for the LPC1114 to generate a start logic interrupt.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; It is conceivable the watch dog oscillator can be used to reset the LPC1114 from deep sleep, if the watch dog internal oscillator is used. However there is no usable start logic to wake up the LPC1114 if the watch dog is configured for (single use) interrupt use instead of reset use.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; In my sample code demonstrating 6uA deep sleep in &lt;/SPAN&gt;&lt;A href="http://"&gt;http://knowledgebase.nxp.com/showthread.php?t=187&lt;/A&gt;&lt;SPAN&gt; it only requires one line to be commented out to show a timer waking up the LPC1114 LPCXpresso from normal sleep, instead of staying in deep sleep.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; John Heenan&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:56:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Waking-up-from-deep-sleep-with-timer32-WDTOSC/m-p/533070#M3393</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:56:02Z</dc:date>
    </item>
  </channel>
</rss>

