System 0x32
指定時間ウエイト
【機能】
動作中のユーザプログラムを指定された時間だけウエイトします。
【関数】
int TimeWait( int tim )
|
{
|
return trapa_svc( 0x32, pid, tim );
|
}
|
【入力】
【出力】
リターンコード
| OK
| 正常終了
|
| ERR_PARAM
| パラメータエラー
|
【解説】
呼び出し元のメッセージキューに未処理のメッセージがない場合、動作中のユーザプログラムを一時停止し、他のプログラムに制御を切り替えます。指定された時間が経過するか、他のプロセスからメッセージを送られたときに、本ファンクションから復帰します。
メッセージキューに未処理のメッセージが存在する場合には、そのまま復帰します。
ウェイトする時間はミリ秒単位で指定します。負の値を指定した場合、パラメータエラーを返します。
【関連項目】
メッセージ取得
【使用例】
以下に典型的な使用方法を示します。
while(1) { /* メインループ */
if(TimeWait(1000) > 0) {
GetMsg(&msg);
switch(msg.cmd) {
case MSG_SYSMSG:
/* LAN側のプロセスはソケットのチェックを行なう */
/* シリアル側のプロセスは受信処理を行なう */
/* 外部インタフェースを持たないプロセスは何もしない */
break;
case ..... /* その他必要なメッセージ処理 */
:
:
}
}else{
/* タイムアウトした場合の処理 */
}
}