Enter Standby mode then wake up(only restart) by RTC timer

Dependencies:   WakeUp_STM32

/users/kenjiArai/notebook/standby-mode-current-consumption-on-nucleo-f446re/

IDD Jumper(JP6)
ModeMbed-OSBoardIDD Current(sleep)IDD Current(Normal(*1))
DeepSleep0s5.15.1Nucleo-L152RE4.23uA5mA to 8mA
^0s6.6.0^4.22uA4mA to 7mA
StandBy0s5.15.1^3.90uA4mA to 7mA
^0s6.6.0^3.90uA4mA to 7mA
DeepSleep0s5.15.1Nucleo-L476RG2.13uA7mA to 10mA
^0s6.6.0^2.23uA7mA to 10mA
StandBy0s5.15.1^-uA(*2)-mA(*2)
^0s6.6.0^-uA(*2)-mA(*2)
DeepSleep0s5.15.1Nucleo-F411RE1.91mA(*3)7mA to 10mA
^0s6.6.0^1.65mA(*3)7mA to 10mA
StandBy0s5.15.1^3.35uA7mA to 10mA
^0s6.6.0^3.40uA7mA to 9mA
DeepSleep0s5.15.1Nucleo-F446RE1.67mA(*3)14mA to 17mA
^0s6.6.0^1.76mA(*3)14mA to 16mA
StandBy0s5.15.1^3.42uA14mA to 17mA
^0s6.6.0^3.42uA14mA to 16mA

(*1)-> LED1 Blinky every 1sec and change LED1 current
(*2)-> Could NOT make proper program and could NOT measure
(*3)-> NOT uA but mA
All Nucleo boards are stand alone condition(not additional circuit).
Equipment: DMM6500

/users/kenjiArai/code/Check_DeepSleep_os5/
/users/kenjiArai/code/Check_DeepSleep_os6/
/users/kenjiArai/code/Check_StandBy_os5/
/users/kenjiArai/code/Check_StandBy_os6/

Files at this revision

API Documentation at this revision

Comitter:
kenjiArai
Date:
Sun Jan 17 03:22:47 2021 +0000
Parent:
4:bee93f6bae20
Commit message:
added Nucleo-L476RG and DISCO-L475VG-IOT01A

Changed in this revision

WakeUp_STM32.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r bee93f6bae20 -r 37c4c47a5546 WakeUp_STM32.lib
--- a/WakeUp_STM32.lib	Sat Jan 16 06:13:48 2021 +0000
+++ b/WakeUp_STM32.lib	Sun Jan 17 03:22:47 2021 +0000
@@ -1,1 +1,1 @@
-https://os.mbed.com/users/kenjiArai/code/WakeUp_STM32/#abaa4fd0c727
+https://os.mbed.com/users/kenjiArai/code/WakeUp_STM32/#bbc6b5bdd75b
diff -r bee93f6bae20 -r 37c4c47a5546 main.cpp
--- a/main.cpp	Sat Jan 16 06:13:48 2021 +0000
+++ b/main.cpp	Sun Jan 17 03:22:47 2021 +0000
@@ -6,7 +6,7 @@
  *  http://www7b.biglobe.ne.jp/~kenjia/
  *  https://os.mbed.com/users/kenjiArai/
  *      Revised:    March     12th, 2020
- *      Revised:    January   16th, 2021
+ *      Revised:    January   17th, 2021
  */
 
 /*
@@ -23,9 +23,10 @@
         Nucleo-F446RE       -> 1.76mA (not uA)(Normal run = 14mA to 16mA)
     STANDBY MODE (Tested on with mbed-os6.6.0)
         Nucleo-L152RE       -> 3.90uA (Normal run = 4mA to 7mA)
-        Nucleo-L476RG       -> not work until today
+        Nucleo-L476RG       -> 0.62uA (Normal run = 7mA to 10mA)
         Nucleo-F411RE       -> 3.40uA (Normal run = 7mA to 9mA)
         Nucleo-F446RE       -> 3.42uA (Normal run = 14mA to 16mA)
+        DISCO-L475VG-IOT01A -> 0.58uA (Normal run = 7mA to 9mA)
 
         Current Measurement:
          Nucleo board has IDD Jumper (JP6).
@@ -40,7 +41,11 @@
 
 //  Constructor ----------------------------------------------------------------
 DigitalIn   my_sw(USER_BUTTON);
+#if defined(TARGET_DISCO_L475VG_IOT01A)
+DigitalOut  myled(LED2,0);
+#else
 DigitalOut  myled(LED1,1);
+#endif
 static BufferedSerial pc(USBTX, USBRX, 9600);
 AnalogIn    a_in(A0);
 Timer       t;
@@ -79,7 +84,7 @@
             DigitalIn dmy0(LED1);
             DigitalIn dmy1(USBTX);
             DigitalIn dmy2(USBRX);
-            WakeUp::standby_then_reset(10000);
+            WakeUp::standby_then_reset(20000);
             while(true) {;} // never executing this line
         }
         ain = a_in.read();