新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 嵌入式實時操作系統μC/OS-II串口通信的設計與實現

        嵌入式實時操作系統μC/OS-II串口通信的設計與實現

        作者: 時間:2011-03-17 來源:網絡 收藏

        由該流程圖可以看出:本程序中創建了4個任務,即LED顯示任務,液晶顯示任務,數據發送任務和數據發送控制任務。每一個任務都要有相應的優先級和任務堆棧空間,程序中每個任務的堆棧空間為512個字節,優先級依次為11,13,4,6。
        ST公司用標準的ANSI C封裝了ARM微處理器中各個功能寄存器,為用戶應用程序的開發提供了豐富的固件庫(Firmware)。固件庫方便用戶對底層微處理器外設進行初始化配置,如初始化函數為void USARTConfigurtion(void),具體代碼如下:

        本文引用地址:http://www.104case.com/article/156583.htm

        6.JPG

        7.JPG

        初始化操作包括了時鐘初始化、中斷初始化,I/O接口初始化,初始化等。主程序在完成初始化操作后創建信號量、消息郵箱和任務創建。由于信號量、郵箱都是事件類型,所以需用OS_EV-ENT來定義,信號量、郵箱的建立由函數App_EventCreate()完成。

        使用信號量和消息郵箱可以保持任務之間的的同步,串口數據發送任務App_TaskSendata(void-*p_arg)發送信號量App_UserIFSem通知數據發送控制任務App_TaskSendata Ctrl(void*p_arg),數據發送控制任務在接收到信號量App_User IFSem后,發送消息(www.Real Vie-w.com\n)給指定郵箱App_UserIFMbox,串口調用數據發送函數USART_Send Data(),串口數據發送任務數據發送完成后發送通知信號量App_ UserIFSeml給數據發送控制任務,數據發送控制任務在接收到發送完成信號量App_UserIFSeml后,向指定郵箱發送另一則消息(www.xust. edu.cn\n),數據發送任務在接收到消息郵箱后通過串口發送接收到的消息內容給PC機。具體代碼如下:

        8.JPG

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 桑日县| 江阴市| 赣州市| 沂源县| 石楼县| 吉安市| 东乌| 巩留县| 榆林市| 万宁市| 理塘县| 夏津县| 泗洪县| 汪清县| 扎鲁特旗| 台安县| 盐源县| 曲周县| 惠东县| 鄂托克旗| 平塘县| 涟水县| 习水县| 宜兰市| 塔河县| 增城市| 宝鸡市| 峨山| 忻州市| 交口县| 永吉县| 霍邱县| 茌平县| 正安县| 彝良县| 仙桃市| 屏南县| 凌源市| 丽江市| 利川市| 平湖市|