Shinobiライブラリ - ペリフェラルデータ関数

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) {
	/* 設定できなかった */
}
	:
/* コールバック関数 */
void callback(Sint32 stat, Uint32 param)
{
	switch (stat) {
		case PDD_TMRERR_OK:
			/* 設定できた */
			break;
		case PDD_TMRERR_NO_TIMER:
			/* 抜かれた */
			break;
		case PDD_TMRERR_INVALID:
			/* 設定値が間違っている */
			break;
		case PDD_TMRERR_BUSY:
			/* BUSY状態 */
			break;
	}
}

備考

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

参照

pdTmrGetTime()

pdTmrSetTime
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999