In the past, you need modify rtc_api.c in mbed-dev source code. From this revision, you can just use RTC function all of conditions (Normal, Reset, Stand-by, Power OFF).

Note

From now on, you do NOT need any modification for mbed-dev library because STM team updates rtc_api.c source code and support RTC function under reset & standby condition includes power off condition (You need additional VBAT back-up hardware).

Please refer following NOTE information.
/users/kenjiArai/notebook/nucleo-series-rtc-control-under-power-onoff-and-re/

Committer:
kenjiArai
Date:
Sat Mar 06 08:29:51 2021 +0000
Revision:
14:4b03106ece1f
run on mbed-os6.8.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 14:4b03106ece1f 1 /*
kenjiArai 14:4b03106ece1f 2 * mbed Application program
kenjiArai 14:4b03106ece1f 3 * Redirect Standard Input/Output
kenjiArai 14:4b03106ece1f 4 *
kenjiArai 14:4b03106ece1f 5 * Copyright (c) 2021 Kenji Arai / JH1PJL
kenjiArai 14:4b03106ece1f 6 * http://www7b.biglobe.ne.jp/~kenjia/
kenjiArai 14:4b03106ece1f 7 * https://os.mbed.com/users/kenjiArai/
kenjiArai 14:4b03106ece1f 8 * Created: January 13th, 2021
kenjiArai 14:4b03106ece1f 9 * Revised: March 5th, 2021
kenjiArai 14:4b03106ece1f 10 */
kenjiArai 14:4b03106ece1f 11
kenjiArai 14:4b03106ece1f 12 // Include --------------------------------------------------------------------
kenjiArai 14:4b03106ece1f 13 #include "mbed.h"
kenjiArai 14:4b03106ece1f 14
kenjiArai 14:4b03106ece1f 15 // Definition -----------------------------------------------------------------
kenjiArai 14:4b03106ece1f 16
kenjiArai 14:4b03106ece1f 17 // Constructor ----------------------------------------------------------------
kenjiArai 14:4b03106ece1f 18 static BufferedSerial pc(USBTX, USBRX, 9600);
kenjiArai 14:4b03106ece1f 19
kenjiArai 14:4b03106ece1f 20 // RAM ------------------------------------------------------------------------
kenjiArai 14:4b03106ece1f 21
kenjiArai 14:4b03106ece1f 22 // ROM / Constant data --------------------------------------------------------
kenjiArai 14:4b03106ece1f 23
kenjiArai 14:4b03106ece1f 24 // Function prototypes --------------------------------------------------------
kenjiArai 14:4b03106ece1f 25
kenjiArai 14:4b03106ece1f 26 //------------------------------------------------------------------------------
kenjiArai 14:4b03106ece1f 27 // Control Program
kenjiArai 14:4b03106ece1f 28 //------------------------------------------------------------------------------
kenjiArai 14:4b03106ece1f 29 uint8_t readable()
kenjiArai 14:4b03106ece1f 30 {
kenjiArai 14:4b03106ece1f 31 return pc.readable();
kenjiArai 14:4b03106ece1f 32 }
kenjiArai 14:4b03106ece1f 33
kenjiArai 14:4b03106ece1f 34 void putc(uint8_t c)
kenjiArai 14:4b03106ece1f 35 {
kenjiArai 14:4b03106ece1f 36 char dt[4];
kenjiArai 14:4b03106ece1f 37 dt[0] = (char)c;
kenjiArai 14:4b03106ece1f 38 pc.write(dt, 1);
kenjiArai 14:4b03106ece1f 39 }
kenjiArai 14:4b03106ece1f 40
kenjiArai 14:4b03106ece1f 41 uint8_t getc()
kenjiArai 14:4b03106ece1f 42 {
kenjiArai 14:4b03106ece1f 43 char dt[4];
kenjiArai 14:4b03106ece1f 44 pc.read(dt, 1);
kenjiArai 14:4b03106ece1f 45 return (uint8_t)dt[0];
kenjiArai 14:4b03106ece1f 46 }
kenjiArai 14:4b03106ece1f 47
kenjiArai 14:4b03106ece1f 48 //https://os.mbed.com/users/kenjiArai/code/Check_DeepSleep_os6/
kenjiArai 14:4b03106ece1f 49 void sleep_preparation()
kenjiArai 14:4b03106ece1f 50 {
kenjiArai 14:4b03106ece1f 51 pc.enable_input(false);
kenjiArai 14:4b03106ece1f 52 sleep_manager_can_deep_sleep();
kenjiArai 14:4b03106ece1f 53 }