-
snd_mbx
isnd_mbx
-
ER snd_mbx ( ID mbxid, T_MSG *pk_msg );
ER isnd_mbx ( ID mbxid, T_MSG *pk_msg );
|
【 TA_MFIFO属性用メッセージT_MSGの構造 】
typedef struct t_msg {
struct t_msg *msgnext; /*システム予約領域*/
} T_MSG;
|
【 TA_MPRI属性用メッセージT_MSG_PRIの構造 】
typedef struct t_msg_pri {
struct t_msg msgque; /*システム予約領域*/
PRI msgpri; /*優先度*/
UH RFU; /*システム予約領域*/
} T_MSG_PRI;
|
mbxidで指定されたメールボックスに
pk_msgで指定されたメッセージを送信します。
ただし,本サービス・コールを発行した際,対象メールボックスの待ちキューにタスクがキューイングされていた場合には,メッセージの送信(メッセージのキューイング処理)は行わず,該当タスクにメッセージを渡します。これにより,該当タスクは,待ちキューから外れ,WAITING状態(メッセージ受信待ち状態)からREADY状態へ,またはWAITING-SUSPENDED状態からSUSPENDED状態へと遷移します。
備考1 メッセージを対象メールボックスの待ちキューにキューイングする際のキューイング方式は,コンフィギュレーション時に定義された順(FIFO順,優先度順)に行われます。
備考2 RI850V4のメールボックスは,メッセージの先頭アドレスを受信側処理プログラムに渡すだけであり,メッセージの内容が他領域にコピーされるわけではありません。したがって,本サービス・コールの発行後であってもメッセージの内容を書き換えることができます。
|
|
|
|
|
|
|
|
|
|
|
- mbxid>生成されているメールボックスの最大ID
|
|
|
|
|
|
|