17/oct/2013 新規
20/oct/2013 更新
DS1337RTC ライブラリの解説です。
・TimeRTCSet | … | DS1337 に日時を設定するスケッチ例です。 |
・TimeRTC | … | DS1337 の現在の日時を読み出してシリアルモニターに転送するスケッチ例です。 |
・print_clock_and_batt_cap | … | DS1337 の現在の日時と、単四電池6本の電圧を読み出してシリアルモニターに転送するスケッチ例です。 |
・wakeup_1min_demo | … | 1分ごとに Arduino を起動させるスケッチ例です。 |
・wakeup_5min_demo | … | 5分ごとに Arduino を起動させるスケッチ例です。 |
定義 | 値 | コメント |
DS1337RTC_WAKEUP_EVERY_SEC | 1 | 毎秒:使用しません(Arduinoの起動そのものに数秒かかる為、毎秒起動は逆立ちしても不可能です)。ただし、DS1337の初期状態によっては、この設定になっている場合がありえます。 |
DS1337RTC_WAKEUP_EVERY_MIN | 2 | 毎分:指定の秒ごとに wakeup する |
DS1337RTC_WAKEUP_EVERY_HOUR | 3 | 毎時:指定の分/秒ごとに wakeup する |
DS1337RTC_WAKEUP_EVERY_DAY | 4 | 毎日:指定の時/分/秒ごとに wakeup する |
DS1337RTC_WAKEUP_EVERY_WEEK | 5 | 毎週:指定の曜日/時/分/秒ごとに wakeup する |
DS1337RTC_WAKEUP_EVERY_MONTH | 6 | 毎月:指定の日/時/分/秒ごとに wakeup する |
定義 | 値 | コメント |
DS1337RTC_DOW_SUN | 1 | 日 ※timeDayOfWeek_t の dowSunday と同じです。 |
DS1337RTC_DOW_MON | 2 | 月 ※timeDayOfWeek_t の dowMonday と同じです。 |
DS1337RTC_DOW_TUE | 3 | 火 ※timeDayOfWeek_t の dowTuesday と同じです。 |
DS1337RTC_DOW_WED | 4 | 水 ※timeDayOfWeek_t の dowWednesday と同じです。 |
DS1337RTC_DOW_THU | 5 | 木 ※timeDayOfWeek_t の dowThursday と同じです。 |
DS1337RTC_DOW_FRI | 6 | 金 ※timeDayOfWeek_t の dowFriday と同じです。 |
DS1337RTC_DOW_SAT | 7 | 土 ※timeDayOfWeek_t の dowSaturday と同じです。 |
関数名 | 戻り値 | パラメータ | コメント | |
DS1337RTC | 無し | 無し | コンストラクタ | |
getCurrTime | time_t | void | 現在の日時を取得。 | Time ライブラリの setSyncProvider 関数に渡します。 |
void | tmElements_t &tm | 通常はこちらの方が使いやすいです。 | ||
setCurrTime | void | time_t t | 日時を設定 | |
void | tmElements_t &tm | |||
void | uint8_t hr, uint8_t min, uint8_t sec, uint8_t day, uint8_t month, uint16_t yr | ※引数の並びに注意:時/分/秒/日/月/年(2000〜2099)の順です | ||
getWakeupTime | uint8_t | tmElements_t &tm | 設定されている次回の wakeup 日時と、wakeup の方法 (DS1337RTC_WAKEUP_EVERY_XXX のいずれか) が返されます | |
setWakeupTimeEveryMin | void | tmElements_t &tm | 毎分、指定の秒に wakeup させます。 | |
void | void | 0秒指定 | ||
void | uint8_t sec | sec秒指定 | ||
setWakeupTimeEveryHour | void | tmElements_t &tm | 毎時、指定の分/秒に wakeup させます。 | |
void | uint8_t min | min分0秒指定 | ||
void | uint8_t min, uint8_t sec | min分sec秒指定 | ||
setWakeupTimeEveryDay | void | tmElements_t &tm | 毎日、指定の時/分/秒に wakeup させます。 | |
void | uint8_t hr, uint8_t min | hr時min分0秒指定 | ||
void | uint8_t hr, uint8_t min, uint8_t sec | hr時min分sec秒指定 | ||
setWakeupTimeEveryWeek | void | tmElements_t &tm | 毎週、指定の曜日/時/分/秒に wakeup させます。 | |
void | uint8_t dayOfWeek, uint8_t hr, uint8_t min | dayOfWeek = DS1337RTC_DOW_xxx のいずれか | ||
void | uint8_t dayOfWeek, uint8_t hr, uint8_t min, uint8_t sec | dayOfWeek = DS1337RTC_DOW_xxx のいずれか | ||
setWakeupTimeEveryMonth | void | tmElements_t &tm | 毎月、指定の日/時/分/秒に wakeup させます。 | |
void | uint8_t day, uint8_t hr, uint8_t min | 引数の並びに注意:日(day)から指定します | ||
void | uint8_t day, uint8_t hr, uint8_t min, uint8_t sec | 引数の並びに注意:日(day)から指定します | ||
getWakeupFlag | uint8_t | void | wakeup フラグの状態を取得します。 指定の Wakeup 日時で電源 ON した時は 0 以外に、他の方法で電源 ON した時は 0 になります。 | |
clearWakeupFlag | void | void | wakeup フラグを強制的にクリアします。 | 通常、使う事は無いでしょう。 |
powerOff | bool | void | 電源を OFF にします。目覚めよ!xxduino!シールドからの9V供給が停止します。 USB 接続されていない場合、直ぐに Arduino が停止しますので、直前で、各種データを保存or送信し、次に目覚める Wakeup 日時を設定してから、これを呼び出してください。 | |
powerOffWithoutWaking | bool | void | 電源を OFF にします。目覚めよ!xxduino!シールドからの9V供給が停止します。Wakeup 日時も無視されますので、USB 接続するまで RTC/SRAM 以外は眠り続けます。 USB 接続されていない場合、直ぐに Arduino が停止しますので、直前で、各種データを保存or送信してから、これを呼び出してください。 目覚めよ!xxduino!シールドのアラーム1出力を強制 OFF する時も、この関数を呼び出してください。 | |
calcDayOfWeek | uint8_t | uint8_t day, uint8_t month, uint16_t yr | 曜日の計算 | DS1337RTC_DOW_xxx のいずれか 注意:2000/3/1〜2100/2/28 の範囲でしか正しい値になりません。 |
変数名 | 型 | コメント |
RTC | DS1337RTC | 上記の DS1337RTC クラスをインスタンス化したグローバル変数 |