#define LED1_TASK_Prio 5

 

用到的UCOSII函數
消息郵箱創建函數:
OS_EVENT *OSMboxCreate (void *msg)
請求消息郵箱函數:
void *OSMboxPend (OS_EVENT *pevent, INT16U timeout, INT8U *err)
向郵箱發送消息函數:
INT8U OSMboxPost (OS_EVENT *pevent, void *msg)//向等待任務表中高優先級的任務發送消息
廣播郵箱消息函數:
INT8U OSMboxPostOpt (OS_EVENT *pevent, void *msg, INT8U opt)//向等待任務表中所有任務發送消息

 

按鍵掃描任務中,如果KEY0被按下,那么將向消息郵箱Str_Box發送消息1,
i=1;
OSMboxPost(Str_Box,&i); //發送消息1
如果KEY1被按下,那么將發送消息2,
i=2;
OSMboxPost(Str_Box,&i); //發送消息2
如果KEY2(WK_UP)被按下,將向所有等待任務表中所有任務發送消息3,
i=3;
OSMboxPostOpt(Str_Box,&i,OS_POST_OPT_BROADCAST); //向所有任務廣播消息3

 

實驗現象:

我們可以看到,如果我們按下KEY0,因為TaskLed1的優先級別高于TaskLed,所以當兩個任務都在等待的時候,只有TaskLed1可以收到消息1,所以兩個LED都不反轉。
如果按下KEY1,那么TaskLed1收到消息2,狀態反轉。
如果按下KEY2,那么TaskLed1和TaskLed都會收到消息,這個時候兩個LED狀態都會反轉。

OSMboxPostOpt()OSMboxPost()的區別在于前者是廣播消息,所有等待任務都可以收到,后者只會高優先級的任務收到。

下面給出消息郵箱的使用例程

[objc] view plain copy print?更多關于云服務器,域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » Ucosii消息郵箱使用

登錄

找回密碼

注冊

主站蜘蛛池模板: 美女内射毛片在线看3d| 亚洲女人天堂成人av在线| 亚洲欧美日韩综合久久久| 精品久久久久无码| 最新国产精品中文字幕| 日本一道一区二区视频| 成人综合婷婷国产精品久久蜜臀| 在线 欧美 中文 亚洲 精品| 国产尤物精品自在拍视频首页| 日韩精品一区二区三区久| 人妻少妇偷人精品一区| 国产91午夜福利精品| 精品亚洲国产成人av| 精品久久人人做爽综合| 99riav国产精品视频| 国产高清精品在线一区二区| 国产亚洲精品久久久网站好莱| 中文字幕国产精品一区二| 国产精品福利自产拍久久| 男女高潮喷水在线观看| 非会员区试看120秒6次| 亚洲国产中文字幕精品| 国产中文字幕精品在线| 国产精品午夜福利精品| 亚洲护士一区二区三区| 久久精品久久电影免费理论片| 综合色天天久久| 精品国产亚洲av麻豆特色| 2020年最新国产精品正在播放| 久久人人97超碰精品| 额济纳旗| 国产成人一区二区免av| 国产麻豆成人传媒免费观看| 日韩亚洲国产中文字幕欧美| 国产不卡的一区二区三区| 国产午夜亚洲精品国产成人| 狠狠噜天天噜日日噜视频麻豆| 亚洲国产精品综合久久网络| 中文字幕亚洲综合久久2020| 91久久偷偷做嫩草影院免费看 | 国产精品二区中文字幕|