任務間通訊的基本知識

2021-08-15 10:45:59 字數 718 閱讀 3108

1. 訊號量:

訊號量其實就是一種通過數字大小來實現限制資源使用的一種機制,設定訊號量其實就是設定資源最大可以允許多少個任務同時訪問同乙個資源,通過訊號量pend和post操作即訊號量變數的加減實現任務控制。

2. 互斥鎖:

互斥鎖就是同一時間只有乙個任務可以占有資源,當有其他任務要訪問資源的時候就會將這個任務掛起,放到event的等待列表中,當占有資源的任務釋放掉鎖的時候,等待任務才可以占有資源並且上鎖,為了防止優先順序的翻轉,使用了

優先順序繼承的機制,就是把占有資源的任務的優先順序提公升一下比要使用資源的任務的優先順序高。

3. 佇列:

佇列就是取一段記憶體用於存放訊息,

這個訊息是乙個位址,真正的訊息內容是存放在這個位址中,

這樣的話可以就可以實現真正的任務間通訊,將資料從乙個任務傳到另乙個任務,而不像訊號量和互斥鎖一樣僅僅是乙個限制作用。佇列使用要注意,如果多個任務在等待不同的訊息的話,有可能會出現不同任務獲得了不是自己想要的資訊並且將訊息從佇列中去除掉了,所以使用的時候需要注意。

4. 訊息

:訊息其實是佇列的一種特殊情況,為了節省資源,之前也有講到,

如果訊息數量一定的話同一時間只有乙個訊息使用,那麼採用訊息機制更簡單,同樣實現了資料的傳輸功能。

訊息的使用也同樣要注意,pend和post的使用,因為如果有多個任務同時使用的話,就會存在是否是當前任務想要的資訊,如果不是的話有可能把別的任務的訊息給去處並釋放掉了,所以使用時需要注意。

串列埠通訊基本知識

傳送機制 通過計算機的rs232串列埠,按位 bit 傳送和接收位元組,一般是全雙工方式,既可以一邊傳送,一邊接收。串列埠通訊必要引數 串列埠通訊最重要的四個引數 波特率,停止位,資料位,奇偶校驗。若兩個串列埠需要通訊,則這些引數 必須要配對。a.波特率 衡量通訊速度的乙個引數。例如設定3000則每...

通訊基本知識(筆記)

按資料傳送的方式分 a.序列通訊 按資料位形式一位一位地傳輸資料 按資料通訊的方向分 a.全雙工 同一時刻,兩個裝置之間可以同時收發資料 b.半雙工 同一時刻,兩個裝置之間不能同時收發資料 c.單工 任何時刻,只能進行單一方向通訊 按資料同步的方式分 a.同步通訊 收發雙方會使用同一時鐘訊號線,在時...

串列埠通訊的基本知識

串列埠通訊的基本知識 參考朱有鵬arm裸機程式設計 目標 我們要把printf函式是怎麼移植到嵌入式系統當中的。1 通訊的歷史 1 最早的通訊 烽火台,狼煙,信件 有文字的出現。電子通訊,電報,網路訊號。他傳遞是就是0或者1 2 通訊中最重要的兩個部分 資訊表示 解析方法 資訊傳輸方法 資訊的傳輸方...