• 検索結果がありません。

周期ハンドラ

ドキュメント内 px100.book (ページ 95-100)

第 3 章 従来機能の変更 25

3.7 時間管理機能

3.7.2 周期ハンドラ

CRA_CYC

周期ハンドラの生成(静的 API,アクセス許可指定)

cra_cyc

周期ハンドラの生成(アクセス許可指定)

acra_cyc

周期ハンドラの生成(ID番号自動割付け,アクセス許可指定)

【静的 API】

CRA_CYC ( ID cycid, { ATR cycatr, VP_INT exinf, FP cychdr, RELTIM cyctim, RELTIM cycphs }, ACVCT acvct ) ;

【 C言語 API】

ER ercd = cra_cyc ( ID cycid, T_CCYC *pk_ccyc, ACVCT *p_acvct ) ;

ER_ID cycid = acra_cyc ( T_CCYC *pk_ccyc, ACVCT *p_acvct ) ;

【パラメータ】

ID cycid 生成対象の周期ハンドラの ID番号

T_CCYC * pk_ccyc 周期ハンドラ生成情報を入れたパケットへの

ポインタ(静的 APIではパケットの内容を直接 記述する)

ACVCT acvct 周期ハンドラのアクセス許可ベクタ

pk_ccycの内容( T_CCYC型)

ATR cycatr 周期ハンドラ属性

VP_INT exinf 周期ハンドラの拡張情報

FP cychdr 周期ハンドラの起動番地

RELTIM cyctim 周期ハンドラの起動周期

RELTIM cycphs 周期ハンドラの起動位相

(実装独自に他の情報を追加してもよい)

【リターンパラメータ】

cra_cycの場合

ER ercd 正常終了( E_OK)またはエラーコード acra_cycの場合

ER_ID cycid 生成した周期ハンドラの ID番号(正の値)また

はエラーコード

【エラーコード】

E_ID 不正 ID番号( cycidが不正あるいは使用できない)

E_NOID ID番号不足(割付け可能な周期ハンドラ IDがない)

E_RSATR 予約属性( cycatrが不正あるいは使用できない)

E_PAR パラメータエラー( pk_ccyc, cychdr, cyctim, cycphs,

p_acvct, acvctが不正)

E_OBJ オブジェクト状態エラー(対象周期ハンドラが登録済

【機能】

cycidで指定される ID番号を持つ周期ハンドラを, pk_ccycで指定される周期 ハンドラ生成情報に基づいて生成する. CRE_CYC/ cre_cyc/ acre_cycとの 違いは,生成する周期ハンドラに, acvctで指定されるアクセス許可ベクタを 設定することのみである.

sac_cyc

周期ハンドラのアクセス許可ベクタの変更

【 C言語 API】

ER ercd = sac_cyc ( ID cycid, ACVCT *p_acvct ) ;

【パラメータ】

ID cycid 変更対象の周期ハンドラの ID番号

ACVCT acvct 周期ハンドラのアクセス許可ベクタ

【リターンパラメータ】

ER ercd 正常終了( E_OK)またはエラーコード

【エラーコード】

E_ID 不正 ID番号( cycidが不正あるいは使用できない)

E_PAR パラメータエラー( p_acvct, acvctが不正)

E_NOEXS オブジェクト未生成(対象周期ハンドラが未登録)

【機能】

cycidで指定される周期ハンドラに対するアクセス許可ベクタを,acvctで指定

されるアクセス許可ベクタに設定する.

ref_cyc

周期ハンドラの状態参照

【 C言語 API】

ER ercd = ref_cyc ( ID cycid, T_RCYC *pk_rcyc ) ;

【パラメータ】

ID cycid 状態参照対象の周期ハンドラの ID番号

T_RCYC * pk_rcyc 周期ハンドラ状態を返すパケットへのポイン

【リターンパラメータ】

ER ercd 正常終了( E_OK)またはエラーコード pk_rcycの内容( T_RCYC型)

STAT cycstat 周期ハンドラの動作状態

RELTIM lefttim 周期ハンドラを次に起動する時刻までの時間

ACVCT acvct 周期ハンドラのアクセス許可ベクタ

(実装独自に他の情報を追加してもよい)

【エラーコード】

E_ID 不正 ID番号( cycidが不正あるいは使用できない)

E_PAR パラメータエラー( pk_rcycが不正)

E_NOEXS オブジェクト未生成(対象周期ハンドラが未登録)

【機能】

cycidで指定される周期ハンドラに関する状態を参照し, pk_rcycで指定され

るパケットに返す. µITRON4.0仕様との違いは, acvctに対象周期ハンドラの アクセス許可ベクタを返すことのみである.

ドキュメント内 px100.book (ページ 95-100)