Description:
Initializes the RTC (Real-Time Clock).
Syntax:
void begin(void);
M5.begin()
to initialize the RTC clock, please call this function before using the RTC.Example Usage:
#include <M5Core2.h> void setup() { M5.Rtc.begin(); // Initialize the RTC clock} void loop() {}
Description:
Sets the Real-Time Clock time.
Syntax:
void SetTime(RTC_TimeTypeDef* RTC_TimeStruct);
Example Usage:
#include <M5Core2.h> RTC_TimeTypeDef TimeStruct;void setup() { M5.begin(); TimeStruct.Hours = 18; // Set the specific time in the RTC structure TimeStruct.Minutes = 56; TimeStruct.Seconds = 10; M5.Rtc.SetTime(&TimeStruct); // Write the set time to the RTC}void loop(){}
Description:
Retrieves the Real-Time Clock time.
Syntax:
void GetTime(RTC_TimeTypeDef* RTC_TimeStruct);
Example Usage:
#include <M5Core2.h> RTC_TimeTypeDef TimeStruct;void setup() { M5.begin(); M5.Lcd.println("RTC Time TEST"); TimeStruct.Hours = 18; TimeStruct.Minutes = 56; TimeStruct.Seconds = 10; M5.Rtc.SetTime(&TimeStruct);} void loop() { M5.Rtc.GetTime(&TimeStruct); M5.Lcd.setCursor(0, 15); M5.Lcd.printf("Time: %02d : %02d : %02d/n",TimeStruct.Hours, TimeStruct.Minutes, TimeStruct.Seconds); delay(500);}
Description:
Sets the Real-Time Clock date.
Syntax:
void SetData(RTC_TimeTypeDef* RTC_DateStruct);
Example Usage:
#include <M5Core2.h> RTC_DateTypeDef DateStruct;void setup() { M5.begin(); DateStruct.WeekDay = 3; DateStruct.Month = 3; DateStruct.Date = 22; DateStruct.Year = 2019; M5.Rtc.SetData(&DateStruct);}void loop(){}
Description:
Retrieves the Real-Time Clock date.
Syntax:
void GetData(RTC_TimeTypeDef* RTC_DateStruct);
Example Usage:
#include <M5Core2.h> RTC_DateTypeDef DateStruct;void setup() { M5.begin(); M5.Lcd.println("RTC Date TEST"); DateStruct.WeekDay = 5; DateStruct.Month = 7; DateStruct.Date = 23; DateStruct.Year = 2021; M5.Rtc.SetDate(&DateStruct);} void loop() { M5.Rtc.GetDate(&DateStruct); // Retrieve the date from the RTC M5.Lcd.setCursor(0, 15); M5.Lcd.printf("Data: %04d-%02d-%02d/n",DateStruct.Year, DateStruct.Month,DateStruct.Date); // Display the current RTC date on the screen M5.Lcd.printf("Week: %d/n",DateStruct.WeekDay); delay(500);}
function:
Clear interrupt request
Syntax:
void clearIRQ();
function:
Close interrupt request
Syntax:
void disableIRQ();
function:
Set interrupt clock
Syntax:
int SetAlarmIRQ(int afterSeconds);
int SetAlarmIRQ( const RTC_TimeTypeDef &RTC_TimeStruct);
int SetAlarmIRQ( const RTC_DateTypeDef &RTC_DateStruct, const RTC_TimeTypeDef &RTC_TimeStruct);
EXAMPLES:
#include <M5Core2.h> RTC_TimeTypeDef TimeStruct;void setup() { M5.begin(); M5.Lcd.println("RTC SetAlarmIQR"); TimeStruct.Hours = 18; TimeStruct.Minutes = 56; TimeStruct.Seconds = 10; M5.Rtc.SetTime(&TimeStruct);} void loop() { M5.update(); M5.Rtc.GetTime(&TimeStruct); M5.Lcd.setCursor(0, 15); M5.Lcd.printf("Time: %02d : %02d : %02d/n",TimeStruct.Hours, TimeStruct.Minutes, TimeStruct.Seconds); if(M5.BtnA.wasPressed()){ M5.Lcd.println("M5Core2 Will Close, Restore After 5 seconds "); delay(2000); M5.Rtc.clearIRQ(); M5.Rtc.SetAlarmIRQ(5); delay(10); M5.Axp.PowerOff(); }}