13.4.5 メールボックス情報

メールボックス情報では,

1 ) メールボックス名mbxid

2 ) 属性(キューイング方式)mbxatr

3 ) システム予約領域maxmpri

4 ) システム予約領域mprihd

といった項目を個々のメールボックスに対して定義します。

なお,メールボックス情報として定義可能な数は,0〜127個に限られます。

以下に,メールボックス情報の記述形式を示します。

 
 CRE_MBX ( mbxid, { mbxatr, maxmpri, mprihd } );


以下に,メールボックス情報で記述する項目について示します。

1 ) メールボックス名mbxid

メールボックスの名前を指定します。
なお,mbxidとして指定可能な値は,“オブジェクト名”に限られます。


備考 CF78V4では,メールボックス名とIDの対応を以下に示した形式でシステム情報ヘッダ・ファイルに出力します。このため,処理プログラム内で該当システム情報ヘッダ・ファイルをインクルードすることにより,メールボックス名をIDの代わりに利用することが可能となります。

【 システム情報ヘッダ・ファイル(C言語用)への出力形式 】

 #define mbxid   ID
 

【 システム情報ヘッダ・ファイル(アセンブリ言語用)への出力形式 】

 mbxid   .EQU     ID
 

2 ) 属性(キューイング方式)mbxatr

メールボックスの属性(キューイング方式)を指定します。
なお,mbxatrとして指定可能な値は,“TA_TFIFO,および,TA_MFIFO,TA_MPRIのいずれか”に限られます。


【 タスクのキューイング方式 】

TA_TFIFO: タスクからrcv_mbx,またはtrcv_mbxを発行した際,メッセージを受信することができなかった(待ちキューにメッセージがキューイングされていなかった)場合には,該当タスクをメールボックスの待ちキューに“メッセージの受信要求順”でキューイング

【 メッセージのキューイング方式 】

TA_MFIFO: 処理プログラムからsnd_mbxを発行した際,メールボックスの待ちキューにタスクがキューイングされていなかった場合には,該当メッセージをメールボックスの待ちキューに“メッセージの送信要求順”でキューイング

TA_MPRI: 処理プログラムからsnd_mbxを発行した際,メールボックスの待ちキューにタスクがキューイングされていなかった場合には,該当メッセージをメールボックスの待ちキューに“メッセージの優先度順”でキューイング

3 ) システム予約領域maxmpri

システム予約領域です。
なお,maxmpriとして指定可能な値は,“0”に限られます。


4 ) システム予約領域mprihd

システム予約領域です。
なお,mprihdとして指定可能な値は,“NULL”に限られます。