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:土)

SOLID_RTC_ReadTime

int SOLID_RTC_ReadTime(SOLID_RTC_TIME *time)

RTCから時刻情報を取得します

パラメータ
  • time -- RTCの時刻情報を格納するバッファ

戻り値

SOLID_RTC_SetTime

int SOLID_RTC_SetTime(SOLID_RTC_TIME *time)

RTCに時刻を設定します

パラメータ
  • time -- RTCに設定する時刻情報のポインタ

戻り値

要実装関数

RTC関連の要実装関数の定義は、impl_rtc.h にあります。

#include "impl_rtc.h"

IMPL_RTC_Init

int IMPL_RTC_Init(void)

RTCを初期化します

RTCを搭載していない場合は、SOLID_ERR_NOTSUPPORTED を返してください。

戻り値

IMPL_RTC_ReadTime

int IMPL_RTC_ReadTime(SOLID_RTC_TIME *time)

RTCから時刻情報を取得します

パラメータ
  • time -- RTCの時刻情報を格納するバッファ

戻り値

IMPL_RTC_SetTime

int IMPL_RTC_SetTime(SOLID_RTC_TIME *time)

RTCに時刻情報を設定します

時刻情報が設定範囲外の時は、SOLID_ERR_OUTOFBOUND を返してください。

パラメータ
  • time -- RTCに設定する時刻情報のポインタ

戻り値