# RTC_SetTimeAsync

## 構文

  `#include <nitro/rtc.h>`

      RTCResult RTC_SetTimeAsync(
                  const RTCTime*    time,
                  RTCCallback       callback,
                  void*             arg );

## 引数

time | 時刻データを格納したバッファへのポインタ
callback | コールバック関数へのポインタ このコールバックは割り込みハンドラ内から呼び出されます。
arg | コールバック関数へ渡す引数

## 返り値

要求が成功した場合に 0 を返します。
要求が失敗した場合には 0 以外を返します。

## 説明

リアルタイムクロックに非同期的に時刻データを書き込みます。
この関数はARM7に時刻データ書き込み要求を発行し、ARM7からの応答を待たずに呼び出し元に戻ります。
ARM7における処理結果はユーザコールバック関数に渡されるresult引数によって取得する必要があります。
この関数が失敗した場合は非同期的な操作は行われず、ユーザコールバック関数も呼び出されません。

## 注意

書き込む時刻データには、存在しない時分秒を指定しないで下さい。
また、time引数によって指定したバッファは関数とは非同期に値が参照されますので、ユーザコールバック関数によって非同期処理の完了を確認するまでは内容を変更しないようにして下さい。
なお、アプリケーションが時刻を変更する事は禁止されていますので、本APIは開発途中のデバッグ時以外は使用しないで下さい。
FINALROMビルドでは、この関数は常に失敗してRTC_RESULT_INVALID_COMMANDが返されます。

## 参照

`RTC_SetTime, RTC_GetTime, RTC_GetTimeAsync, RTCResult, RTCTime, RTCCallback`

## 履歴

2009/07/29 FINALROMビルドでは時刻設定コマンドが常に失敗する旨を追記
2005/06/27 コールバックが割り込みハンドラから呼び出される旨を補足
2004/07/01 時間表記の統一による記述変更
2004/05/18 初版