Deep power-down mode example program.

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "DeepPowerDown.h"
00003 
00004 // LPC810 pinout
00005 #define dp1 P0_5  // nRESET
00006 #define dp2 P0_4  // WAKEUP
00007 #define dp3       // SWCLK
00008 #define dp4       // SWDIO
00009 #define dp5 P0_1  // nISP
00010 #define dp6       // VIN
00011 #define dp7       // GND
00012 #define dp8 P0_0
00013 
00014 DigitalOut led1(dp8);
00015 
00016 int main()
00017 {
00018     led1 = 1;
00019     wait_ms(10);
00020     led1 = 0;
00021 
00022     int ms = 150;
00023     int cnt = DeepPowerDown::getData0();
00024     if (++cnt >= 4) {
00025         cnt = 0;
00026         ms = 1500; // 1.5sec
00027     }
00028     DeepPowerDown::setData0(cnt);
00029     DeepPowerDown::wakeupTimer_ms(ms);
00030     DeepPowerDown::wakeupPin(false);
00031     DeepPowerDown::entry();
00032     /* NOTREACHED */
00033 }
00034