1. 程式人生 > >2014025658《嵌入式系統程序設計》第七周學習總結

2014025658《嵌入式系統程序設計》第七周學習總結

實驗 get() 數量 嵌入 應該 系統消息 .cn img 宏定義

本周所學內容如下:

1.mkfifo()函數語法要點

技術分享

技術分享

2.FIFO 相關的出錯信息

技術分享

3.消息隊列函數說明

消息隊列的實現包括創建或打開消息隊列、添加消息、讀取消息和控制消息隊列這 4 種操作。其中創建
或打開消息隊列使用的函數是 msgget(),這裏創建的消息隊列的數量會受到系統消息隊列數量的限制;
添加消息使用的函數是 msgsnd()函數,它把消息添加到已打開的消息隊列末尾;讀取消息使用的函數是
msgrcv(),它把消息從消息隊列中取走,與 FIFO 不同的是,這裏可以指定取走某一條消息;最後控制消
息隊列使用的函數是 msgctl(),它可以完成多項功能

4.msgget()函數語法要點

技術分享

5.msgsnd()函數語法要點

技術分享

技術分享

6.msgrcv()函數語法要點

技術分享

7.msgctl()函數語法要點

技術分享

本周實驗內容如下:

編輯、編譯、運行下列程序:

有名管道部分:fifo_write.c 和 fifo_read.c

消息隊列部分:msgsnd.c和msgrcv.c

試驗中遇到的問題與解決方法如下:

1.在編輯fifo_read的時候,忘記加上fifo_write的宏定義

2.在編輯fifo_read的時候忘記加上string.h頭文件

3.在運行有名管道部分的時候第二個終端開的與第一個終端目錄不同,及時改正,運行成功

4.在編譯msgrcv.c時long msg_type;應該改成int msg_type;

5.消息隊列部分運行結果出錯

技術分享

此次試驗不算太成功。未完待續。。。。

2014025658《嵌入式系統程序設計》第七周學習總結