# RTC_InitSWClock

## 構文

  `#include <nitro/rtc.h>`

      RTCResult RTC_InitSWClock( void );

## 引数

なし。

## 返り値

初期化時に呼び出した `RTC_SyncSWClock()` の返り値を返します。

## 説明

ソフトウェアクロックの初期化を行います。ソフトウェアクロックは `OS_GetTick()` で取得できるチック値を元に時刻を計算します。

初期化時には `RTC_SyncSWClock()` が呼び出されてソフトウェアクロックとリアルタイムクロックの同期が行われます。同期後は、`RTC_GetSWClockTick()` を呼び出すことで 2000年1月1日午前0時0分0秒から現時点までの総チック値を取得することができます。また、`RTC_GetDateTimeExFromSWClock()` を呼び出すことで日付・時刻データを取得できます。

ソフトウェアクロックは本体がスリープしていると進まないため、この関数を呼び出すとスリープ復帰時のコールバックリストに `RTC_SyncSWClock()` を呼び出す関数が追加され、スリープ復帰時にソフトウェアクロックと RTC が再同期されるようになります。

この関数を呼び出す前に予め `OS_InitTick()` でチックの初期化が行われている必要があります。また、内部で `RTC_GetDateTime()` を呼び出すため、PXI 割り込みを禁止した状態で呼び出さないようにしてください。

## 参照

`RTC_SyncSWClock, RTC_GetSWClockTick, RTC_GetDateTimeExFromSWClock, RTCResult`

## 履歴

2008/04/17 初版