Real Time Clock
SOLID-OSでは、RTC (Real Time Clock)のAPIを用意しています。
API
RTC関連のAPIを使用するには、solid_rtc.h
をインクルードしてください。
#include "solid_rtc.h"
VALID_SEC
-
VALID_SEC(sec)
説明
秒が指定範囲内かどうかをチェックする
定義
#define VALID_SEC(sec) (0<= (sec) && (sec) < 60)
VALID_MIN
-
VALID_MIN(min)
説明
分が指定範囲内かどうかをチェックする
定義
#define VALID_MIN(min) (0<= (min) && (min) < 60)
VALID_HOUR
-
VALID_HOUR(hour)
説明
時が指定範囲内かどうかをチェックする
定義
#define VALID_HOUR(hour) (0<= (hour) && (hour) < 24)
VALID_MDAY
-
VALID_MDAY(day)
説明
日が指定範囲内かどうかをチェックする
定義
#define VALID_MDAY(day) (0 < (day) && (day) < 32)
VALID_MON
-
VALID_MON(mon)
説明
月が指定範囲内かどうかをチェックする
定義
#define VALID_MON(mon) (0 < (mon) && (mon) < 13)
VALID_YEAR
-
VALID_YEAR(year)
説明
年が指定範囲内かどうかをチェックする
定義
#define VALID_YEAR(year) (0 <= (year))
SOLID_RTC_TIME
-
struct SOLID_RTC_TIME
説明
RTCで設定/取得する時刻情報
定義
typedef struct { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; } SOLID_RTC_TIME;
メンバー
-
int tm_sec
秒
-
int tm_min
分
-
int tm_hour
時
-
int tm_mday
日
-
int tm_mon
月
-
int tm_year
年(1900からの経過年数)
-
int tm_wday
曜日(0:日, 1:月, ..., 6:土)
-
int tm_sec
SOLID_RTC_ReadTime
-
int SOLID_RTC_ReadTime(SOLID_RTC_TIME *time)
RTCから時刻情報を取得します
- パラメータ
time -- RTCの時刻情報を格納するバッファ
- 戻り値
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_RTC_SetTime
-
int SOLID_RTC_SetTime(SOLID_RTC_TIME *time)
RTCに時刻を設定します
- パラメータ
time -- RTCに設定する時刻情報のポインタ
- 戻り値
SOLID_ERR_OK
: 正常終了それ以外: エラー
要実装関数
RTC関連の要実装関数の定義は、impl_rtc.h
にあります。
#include "impl_rtc.h"
IMPL_RTC_Init
-
int IMPL_RTC_Init(void)
RTCを初期化します
RTCを搭載していない場合は、
SOLID_ERR_NOTSUPPORTED
を返してください。- 戻り値
SOLID_ERR_OK
: 正常終了それ以外: エラー
IMPL_RTC_ReadTime
-
int IMPL_RTC_ReadTime(SOLID_RTC_TIME *time)
RTCから時刻情報を取得します
- パラメータ
time -- RTCの時刻情報を格納するバッファ
- 戻り値
SOLID_ERR_OK
: 正常終了それ以外: エラー
IMPL_RTC_SetTime
-
int IMPL_RTC_SetTime(SOLID_RTC_TIME *time)
RTCに時刻情報を設定します
時刻情報が設定範囲外の時は、
SOLID_ERR_OUTOFBOUND
を返してください。- パラメータ
time -- RTCに設定する時刻情報のポインタ
- 戻り値
SOLID_ERR_OK
: 正常終了それ以外: エラー