##### Shinobi Library - ペリフェラルデータ関数

# pdTmrSetTime

タイマーデバイスの時刻設定

### 書式

> `Sint32 pdTmrSetTime( port, time, func, param )
> Uint32 port
> const PDS_TIME *time
> PD_TIMERCALLBACK func
> Uint32 param
> `

### 引数

> port | ポート番号
> time | 時刻構造体
> func | 時刻設定完了コールバック関数
> param | コールバック関数に渡されるパラメータ

### 戻り値

> PDD_TMRERR_OK | 時刻設定要求成功
> PDD_TMRERR_NO_TIMER | タイマーを持つデバイスが接続されていない
> PDD_TMRERR_BUSY | デバイスはBUSY状態

### 解説

> ビジュアルメモリのようなタイマーデバイスを持つペリフェラルの時刻を設定します。

> 関数の戻り値に関係なくコールバックが発生します。

> 引数 port に指定するポート番号は以下のとおりです。

> 定義 | 意味
> PDD_PORT_A1 | コントロールポートA拡張ソケット1
> PDD_PORT_A2 | コントロールポートA拡張ソケット2
> PDD_PORT_B1 | コントロールポートB拡張ソケット1
> PDD_PORT_B2 | コントロールポートB拡張ソケット2
> PDD_PORT_C1 | コントロールポートC拡張ソケット1
> PDD_PORT_C2 | コントロールポートC拡張ソケット2
> PDD_PORT_D1 | コントロールポートD拡張ソケット1
> PDD_PORT_D2 | コントロールポートD拡張ソケット2

### 用例

>     PDS_TIME time;
>     time.year = 1998;
>     time.month = 12;
>     time.day = 31;
>     time.hour = 23;
>     time.minute = 59;
>     time.second = 59;
>     time.dayofweek = dayofweek(1998, 12, 31);
>     ret = pdTmrSetTime(PDD_PORT_A1, &time, callback, 0);
>     if (ret != PDD_TMRERR_OK) {
>     	/* Could not be set */
>     }
>     	:
>     /* Callback function */
>     void callback(Sint32 stat, Uint32 param)
>     {
>     	switch (stat) {
>     		case PDD_TMRERR_OK:
>     			/* Setting completed */
>     			break;
>     		case PDD_TMRERR_NO_TIMER:
>     			/* Timer device being disconnected */
>     			break;
>     		case PDD_TMRERR_INVALID:
>     			/* Wrong setting value */
>     			break;
>     		case PDD_TMRERR_BUSY:
>     			/* Busy status */
>     			break;
>     	}
>     }

### 備考

> 「ビジュアルメモリ」には曜日のデータがセットされません。

### 参照

> pdTmrGetTime() | タイマーデバイスの時刻取得

pdTmrSetTime

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000