理想のRTOSを自作する (8)

【セマフォ管理クラス】

セマフォ操作を管理する。

【修正】
2021-02-26
カウント値を制限できるように改良。制限値を1にするとイベント・フラグと同じ動作にすることができる。

【概要】

セマフォを生成する。カウント初期値(init、省略時はゼロ)が指定可能。リミット(limit)は、カウント最大値を指定する。ゼロ指定はカウント変数の最大値までとなる。省略時はゼロ。

セマフォを獲得する。成功するとWAIT_OBJECTを返す。獲得できない場合、マイナスのタイムアウト指定では永久に待ち続け、ゼロ指定ではWAIT_TIMEOUTを即座に返す。1以上の指定時はその指定時間後にWAIT_TIMEOUTを返す。

セマフォを解放する。待ち状態にあるタスクがセマフォを獲得する。カウントアップできるとtrue、制限値によりカウント・アップできなかった場合はfalseを返す。

【ソース・コード】

【関連する投稿】
理想のRTOSを自作する (1)
理想のRTOSを自作する (2)
理想のRTOSを自作する (3)
理想のRTOSを自作する (4)
理想のRTOSを自作する (5)
理想のRTOSを自作する (6)
理想のRTOSを自作する (7)
理想のRTOSを自作する (8)
理想のRTOSを自作する (9)
理想のRTOSを自作する (10)
理想のRTOSを自作する (11)

カテゴリーrtos

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


This site uses Akismet to reduce spam. Learn how your comment data is processed.