Lazurite 日本語リファレンス


RTC


概要

RTCライブラリは、ML620Q504Hの16bitタイマを用いてソフトウェアでRTC(Real Time Clock)を実現するための関数群です。

消費電力を低減させるため、RTCは毎秒ではなく2秒毎に更新しています。Lazuriteのスリープ中もRTCは動作します。Lazuriteがリセットされた場合、日時情報は初期化されます。初期値は"2017年1月1日(日) 0時0分0秒"です。

本ライブラリにはアラーム機能があり、指定の日時で指定した関数を呼び出すことができます。

本ライブラリを使用するためには、LazuriteIDE上の左ペイン(ライブラリ)から、"RTC"のチェックボックスを有効にしてください。
SDカードライブラリはファイル/フォルダの操作でタイムスタンプが必要で、本ライブラリを使用しています。

 

関数

RTC.begin();

RTCの使用を開始するための関数です。本関数を実行するとRTCは定期更新を開始します。

RTC.setTime(hours, minutes, seconds);

時刻を設定する関数です。

RTC.setDate(day, month, year)

日付を設定する関数です。

unsigned char RTC.getHours()

時を取得する関数です。

unsigned char RTC.getMinutes()

分を取得する関数です。

unsigned char RTC.getSeconds()

秒を取得する関数です。

unsigned char RTC.getYear()

年を取得する関数です。

unsigned char RTC.getMonth()

月を取得する関数です。

unsigned char RTC.getDay()

日を取得する関数です。

RTC.setAlarmTime(hours, minutes, seconds);

アラームの時刻を設定する関数です。

RTC.setAlarmDate(day, month, year)

アラームの日付を設定する関数です。

RTC.enableAlarm(alarmMatch)

アラームをalarmMatchタイプで有効にする関数です。タイプは以下が利用できます。

  • MATCH_SS =秒が一致
  • MATCH_MMSS =分/秒が一致
  • MATCH_HHMMSS =時/分/秒が一致
  • MATCH_DDHHMMSS =日/時/分/秒が一致
  • MATCH_MMDDHHMMSS =月/日/時/分/秒が一致
  • MATCH_YYMMDDHHMMSS =年/月/日/時/分/秒が一致

RTC.disableAlarm()

アラームを無効にする関数です。

RTC.attachInterrupt(callback)

アラームが一致したときに実行するcallback関数を割り付ける関数です。

RTC.detachInterrupt()

アラームが一致したときに実行する関数の割り付けを無効にする関数です。disableAlarm()を内部で呼び出し、アラームは無効になりますので、再度割り付ける際にはenableAlarm()を実行する必要があります。

          *    Arduinoと差異がある関数です。
         +    Arduinoになく、Lazuriteにある関数です。 

 

サンプル

SimpleRTC

本サンプルは、RTCの日時を設定し、RTC情報をシリアルモニタに表示します。

 

SimpleRTCAlarm

本サンプルは、RTCの日時とアラームの時刻を設定し、MATCH_HHMMSSで有効にします。時/分/秒が一致したらalarmMatch関数が実行されて、シリアルモニタに"Alarm Match!"と表示されます。