<?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>LPC MicrocontrollersのトピックRe: After adding a Deep Power Down Mode my code stopped functioning</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/After-adding-a-Deep-Power-Down-Mode-my-code-stopped-functioning/m-p/537205#M11405</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by nxp_apps on Mon Apr 07 11:40:31 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Once you enter deep power-down mode, code execution will stop as expected. You will have to use the wake-up pin to wake the device. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For deep power-down mode, upon wakeup, the device goes through a reset process.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;nxp_support&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:36:19 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:36:19Z</dc:date>
    <item>
      <title>After adding a Deep Power Down Mode my code stopped functioning</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/After-adding-a-Deep-Power-Down-Mode-my-code-stopped-functioning/m-p/537203#M11403</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lab1 on Fri Apr 04 02:23:34 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;This is my original code that must switched on and off a diode based ADC value&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Chip lpc11c14&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;
#include "chip.h"

int k;

const uint32_t OscRateIn = 12000000;
static ADC_CLOCK_SETUP_T ADCSetup;

static void Init_ADC_PinMux(void)
{
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_0, FUNC2);
}

void Chip_GPIO_Init(LPC_GPIO_T *pGPIO)
{
Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_GPIO);
}
int main(void) {

uint16_t dataADC;
int j;
//Chip_GPIO_Init(LPC_GPIO);
volatile static int h = 0 ;
volatile static int l = 1000 ;
Init_ADC_PinMux();

/* ADC Init */
Chip_ADC_Init(LPC_ADC, &amp;amp;ADCSetup);
Chip_ADC_EnableChannel(LPC_ADC, ADC_CH1, ENABLE);

&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; j = 50000;

&amp;nbsp;&amp;nbsp;&amp;nbsp; while (j--) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Start A/D conversion */
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_ADC_SetStartMode(LPC_ADC, ADC_START_NOW, ADC_TRIGGERMODE_RISING);

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Waiting for A/D conversion complete */
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (Chip_ADC_ReadStatus(LPC_ADC, ADC_CH1, ADC_DR_DONE_STAT) != SET) {}

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Read ADC value */
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_ADC_ReadValue(LPC_ADC, ADC_CH1, &amp;amp;dataADC);

&amp;nbsp;&amp;nbsp;&amp;nbsp; if (h&amp;lt;dataADC) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; hoe=dataADC;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(l&amp;gt;dataADC){
&amp;nbsp;&amp;nbsp;&amp;nbsp; l=dataADC;
&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; if(h&amp;gt;200){
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_GPIO_SetPinDIROutput(LPC_GPIO, 3, 2);
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_GPIO_SetPinDIRInput(LPC_GPIO, 3, 1);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(l&amp;lt;200){
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_GPIO_SetPinDIROutput(LPC_GPIO, 3, 1);
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_GPIO_SetPinDIRInput(LPC_GPIO, 3, 2);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; h = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; l = 1000;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So I add this code to use Deep Power Down Mode&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;
LPC_PMU-&amp;gt;PCON= (1&amp;lt;&amp;lt;1)|(1&amp;lt;&amp;lt;11);
SCB-&amp;gt;SCR|=(1&amp;lt;&amp;lt;2);//Set SLEEPDEEP bit
LPC_SYSCTL-&amp;gt;PDRUNCFG &amp;amp;= ~((1&amp;lt;&amp;lt;0) | (1&amp;lt;&amp;lt;1));
__WFI();
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This gives me this code&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;

#include "chip.h"

int k;

const uint32_t OscRateIn = 12000000;
static ADC_CLOCK_SETUP_T ADCSetup;

static void Init_ADC_PinMux(void)
{
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_0, FUNC2);
}

void Chip_GPIO_Init(LPC_GPIO_T *pGPIO)
{
Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_GPIO);
}
int main(void) {

uint16_t dataADC;
int j;
//Chip_GPIO_Init(LPC_GPIO);
volatile static int h = 0 ;
volatile static int l = 1000 ;
Init_ADC_PinMux();

/* ADC Init */
Chip_ADC_Init(LPC_ADC, &amp;amp;ADCSetup);
Chip_ADC_EnableChannel(LPC_ADC, ADC_CH1, ENABLE);

&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;LPC_PMU-&amp;gt;PCON= (1&amp;lt;&amp;lt;1)|(1&amp;lt;&amp;lt;11);&lt;/STRONG&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;SCB-&amp;gt;SCR|=(1&amp;lt;&amp;lt;2);//Set SLEEPDEEP bit&lt;/STRONG&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;LPC_SYSCTL-&amp;gt;PDRUNCFG &amp;amp;= ~((1&amp;lt;&amp;lt;0) | (1&amp;lt;&amp;lt;1));&lt;/STRONG&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; j = 50000;

&amp;nbsp;&amp;nbsp;&amp;nbsp; while (j--) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Start A/D conversion */
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_ADC_SetStartMode(LPC_ADC, ADC_START_NOW, ADC_TRIGGERMODE_RISING);

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Waiting for A/D conversion complete */
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (Chip_ADC_ReadStatus(LPC_ADC, ADC_CH1, ADC_DR_DONE_STAT) != SET) {}

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Read ADC value */
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_ADC_ReadValue(LPC_ADC, ADC_CH1, &amp;amp;dataADC);

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Print ADC value */


&amp;nbsp;&amp;nbsp;&amp;nbsp; if (h&amp;lt;dataADC) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; hoe=dataADC;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(l&amp;gt;dataADC){
&amp;nbsp;&amp;nbsp;&amp;nbsp; l=dataADC;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }


&amp;nbsp;&amp;nbsp;&amp;nbsp; if(h&amp;gt;200){
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_GPIO_SetPinDIROutput(LPC_GPIO, 3, 2);
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_GPIO_SetPinDIRInput(LPC_GPIO, 3, 1);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(l&amp;lt;200){

&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_GPIO_SetPinDIROutput(LPC_GPIO, 3, 1);
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_GPIO_SetPinDIRInput(LPC_GPIO, 3, 2);

&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; h = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; l = 1000;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;__WFI();&lt;/STRONG&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; }
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My problem is that when I added Deep Power Down Mode, the program stops after a passage of my loop.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone know why this is happening?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:36:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/After-adding-a-Deep-Power-Down-Mode-my-code-stopped-functioning/m-p/537203#M11403</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:36:17Z</dc:date>
    </item>
    <item>
      <title>Re: After adding a Deep Power Down Mode my code stopped functioning</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/After-adding-a-Deep-Power-Down-Mode-my-code-stopped-functioning/m-p/537204#M11404</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by pgr on Fri Apr 04 09:01:43 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;WFI stand for Wait For Interrupt, so when executing this instruction you say to your processor to sleep until the next interrupt.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;As you have no interrupt the CPU sleep for ever. You have to use a timer or SysTick to generate an interrupt after a while to wake-up your CPU...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:36:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/After-adding-a-Deep-Power-Down-Mode-my-code-stopped-functioning/m-p/537204#M11404</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:36:18Z</dc:date>
    </item>
    <item>
      <title>Re: After adding a Deep Power Down Mode my code stopped functioning</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/After-adding-a-Deep-Power-Down-Mode-my-code-stopped-functioning/m-p/537205#M11405</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by nxp_apps on Mon Apr 07 11:40:31 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Once you enter deep power-down mode, code execution will stop as expected. You will have to use the wake-up pin to wake the device. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For deep power-down mode, upon wakeup, the device goes through a reset process.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;nxp_support&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:36:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/After-adding-a-Deep-Power-Down-Mode-my-code-stopped-functioning/m-p/537205#M11405</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:36:19Z</dc:date>
    </item>
  </channel>
</rss>

