工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial Internet of Things >> 埋め込み

イベントフラググループ:ユーティリティサービスとデータ構造


RTOSRevealedシリーズを表示する

この記事では、イベントフラググループについて引き続き説明します。

イベントフラググループユーティリティサービス

Nucleus RTOSには、イベントフラググループに関連付けられたユーティリティ関数を提供する3つのAPI呼び出しがあります。グループに関する情報を返し、アプリケーション内のイベントフラググループの数を返し、アプリケーション内のすべてのグループへのポインタを返します。これらの最初の2つはNucleusSEに実装されています。

イベントフラググループ情報

このサービスコールは、イベントフラググループに関する情報の選択を取得します。 NucleusSEの実装はNucleusRTOSとは異なり、オブジェクトの命名とサスペンドの順序がサポートされておらず、タスクのサスペンドが有効になっていない可能性があるため、返される情報が少なくなります。

Nucleus RTOSAPIによるイベントグループ情報の呼び出し

サービスコールプロトタイプ:

STATUS NU_Event_Group_Information(NU_EVENT_GROUP * group、
CHAR * name、UNSIGNED * even
t_flags、UNSIGNED * tasks_waiting、
NU_TASK ** first_task);

パラメータ:

グループ –ユーザー提供のイベントフラググループ制御ブロックへのポインタ

名前 –イベントフラググループの名前の8文字の宛先領域へのポインタ。これには、ヌルターミネータ用のスペースが含まれます

event_flags –指定されたイベントフラググループの現在の値を受け取る変数へのポインタ

tasks_waiting –このイベントフラググループで中断されたタスクの数を受け取る変数へのポインター

first_task –タイプ NU_TASK の変数へのポインター 最初に中断されたタスクへのポインタを受け取ります

返品:

NU_SUCCESS –通話は正常に完了しました

NU_INVALID_GROUP –イベントフラググループポインタが無効です

Nucleus SEAPIによるイベントグループ情報の呼び出し

このAPI呼び出しは、Nucleus RTOSAPIの主要な機能をサポートしています。

サービスコールプロトタイプ:

STATUS NUSE_Event_Group_Information(NUSE_EVENT_GROUP group、
U8 * event_flags、U8 * tasks_waiting、NUSE_TASK * first_task);

パラメータ:

グループ –情報が要求されているイベントフラググループのインデックス

event_flags –指定されたイベントフラググループの現在の値を受け取る変数へのポインタ

tasks_waiting –このイベントフラググループで一時停止されたタスクの数を受け取る変数へのポインター(タスクの一時停止が無効になっている場合は何も返されません)

first_task –タイプ NUSE_TASK の変数へのポインター これは最初に中断されたタスクのインデックスを受け取ります(タスクの中断が無効になっている場合は何も返されません)

返品:

NUSE_SUCCESS –通話は正常に完了しました

NUSE_INVALID_GROUP –イベントフラググループインデックスが無効です

NucleusSEによるイベントグループ情報の実装

このAPI呼び出しの実装は非常に簡単です:

 * event_flags =NUSE_Event_Group_Data [group]; #if NUSE_BLOCKING_ENABLE * tasks_waiting =NUSE_Event_Group_Blocking_Count [group]; if(NUSE_Event_Group_Blocking_Count [group]!=0){U8インデックス; for(index =0; index  

この関数は、イベントフラググループの値を返します。次に、API呼び出しのブロックが有効になっている場合、待機中のタスクの数と最初のタスクのインデックスが返されます(それ以外の場合、これら2つのパラメーターは0に設定されます)。

イベントフラググループの数の取得

このサービス呼び出しは、アプリケーションで構成されたイベントフラググループの数を返します。 Nucleus RTOSではこれは時間とともに変化し、戻り値は現在のグループ数を表しますが、Nucleus SEでは、返される値はビルド時に設定され、変更できません。

Nucleus RTOSAPIによるイベントフラググループカウントの呼び出し

サービスコールプロトタイプ:

UNSIGNED NU_Established_Event_Groups(VOID);

パラメータ:

なし

返品:

アプリケーションで作成されたイベントフラググループの現在の数

Nucleus SEAPIによるイベントフラググループカウントの呼び出し

このAPI呼び出しは、Nucleus RTOSAPIの主要な機能をサポートしています。

サービスコールプロトタイプ:

U8 NUSE_Event_Group_Count(void);

パラメータ:

なし

返品:

アプリケーションで構成されたイベントフラググループの数

NucleusSEによるイベントフラググループカウントの実装

このAPI呼び出しの実装は、ほとんど簡単です。 #define の値です。 シンボル NUSE_EVENT_GROUP_NUMBER 返されます。


埋め込み

  1. クラウドとインハウスサービスの長所と短所
  2. MicrosoftAzureのブロックチェーントークンおよびデータ管理サービス
  3. C ++の構造とクラス
  4. メールボックス:紹介と基本的なサービス
  5. セマフォ:ユーティリティサービスとデータ構造
  6. セマフォ:紹介と基本的なサービス
  7. イベントフラググループ:紹介と基本サービス
  8. キュー:紹介と基本的なサービス
  9. Apacer:世界中で発売されたCV110-SDおよびCV110-MSDカード
  10. OpenHW Groupは、オープンソースコアのCORE-Vファミリを作成して発表しました
  11. Swissbit:データとデバイスを保護するためのハードウェアベースのセキュリティソリューション