リアルタイムクロック(RTC)¶
概要¶
内蔵されている時計機能の管理クラスです。
時間合わせをしない限り正しい時間がセットされていないので、利用する前にかならず時間をセットしてください。
データシート¶
- RTC BM8563
Doxygenドキュメント¶
メンバー¶
秒 Second¶
関数で更新されます
uint8_t RTC::Second
分 Minute¶
関数で更新されます
uint8_t RTC::Minute
時間 Hour¶
関数で更新されます
uint8_t RTC::Hour
曜日(0:日, 1:月, 2:火, 3:水, 4:木, 5:金, 6:土) Week¶
現状更新されないので利用できません
uint8_t RTC::Week
日 Day¶
現状更新されないので利用できません
uint8_t RTC::Day
月 Month¶
現状更新されないので利用できません
uint8_t RTC::Month
年 Year¶
現状更新されないので利用できません
uint8_t RTC::Year
年月日文字列 DateString¶
現状更新されないので利用できません
uint8_t RTC::DateString[9]
時間文字列 TimeString¶
現状更新されないので利用できません
uint8_t RTC::TimeString[9]
日時データ asc¶
関数で更新されます
uint8_t RTC::asc[14]
コンストラクタ RTC()¶
I2Cの初期化
RTC::RTC()
(非推奨)日時取得 GetBm8563Time()¶
現状非推奨です。0.0.7では時間しか更新されず、日付は取得できません。
void RTC::GetBm8563Time(void)
時間を設定 SetTime()¶
とSetTime()はペアで呼び出します。
void RTC::SetTime(RTC_TimeTypeDef *RTC_TimeStruct)
引数
- RTC_TimeTypeDef*
RTC_TimeStruct
時間用構造体
日付を設定 SetData()¶
とSetTime()はペアで呼び出します。
void RTC::SetData(RTC_DateTypeDef *RTC_DataStruct)
引数
- RTC_DateTypeDef*
RTC_DataStruct
日付用構造体
時間を取得 GetTime()¶
とGetTime()はペアで呼び出します。
void RTC::GetTime(RTC_TimeTypeDef *RTC_TimeStruct)
引数
- RTC_TimeTypeDef*
RTC_TimeStruct
時間用構造体
日付を取得 GetData()¶
とGetTime()はペアで呼び出します。
void RTC::GetData(RTC_DateTypeDef *RTC_DataStruct)
引数
- RTC_DateTypeDef*
RTC_DataStruct
日付用構造体
サンプルスケッチ¶
日時設定¶
#include <M5StickC.h>
void setup() {
M5.begin();
RTC_DateTypeDef DateStruct;
DateStruct.WeekDay = 3;
DateStruct.Month = 3;
DateStruct.Date = 22;
DateStruct.Year = 2019;
M5.Rtc.SetData(&DateStruct);
RTC_TimeTypeDef TimeStruct;
TimeStruct.Hours = 18;
TimeStruct.Minutes = 56;
TimeStruct.Seconds = 10;
M5.Rtc.SetTime(&TimeStruct);
}
void loop() {
}
日時取得¶
#include <M5StickC.h>
RTC_DateTypeDef DateStruct;
RTC_TimeTypeDef TimeStruct;
void setup() {
M5.begin();
}
void loop() {
M5.Rtc.GetData(&DateStruct);
M5.Rtc.GetTime(&TimeStruct);
Serial.printf("%04d/%02d/%02d %02d:%02d:%02d\n",
DateStruct.Year,
DateStruct.Month,
DateStruct.Date,
TimeStruct.Hours,
TimeStruct.Minutes,
TimeStruct.Seconds
);
delay(1000);
}