<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          嵌入式實時操作系統(tǒng)μC/OS-II串口通信的設計與實現(xiàn)

          作者: 時間:2011-03-17 來源:網(wǎng)絡 收藏

          摘要:為解決μC/中信號量、消息郵箱使用方法的問題,提出了一種以STM32V評估板為硬件平臺和μC/OS-Ⅱ的程序方案。該方案采用Cortex-M3架構(gòu)的ARM處理器STM32F103VB作為主控制芯片,ST3232作為電平轉(zhuǎn)換器。軟件部分描述了信號量、消息郵箱的應用場合和基本操作方法,通過信號量和消息郵箱的配合使用保證任務間的數(shù)據(jù)傳輸?shù)耐叫浴=o出了整個程序中的設計思路,程序開發(fā)使用STM32F103VB處理器自帶的固件庫,減少了繁瑣的寄存器配置,降低了程序開發(fā)強度。實驗驗證了在2種不用通信速率下數(shù)據(jù)傳輸具有誤碼率低、傳輸穩(wěn)定可靠的特點,并且若能夠配合相應的數(shù)據(jù)校驗算法就可將其應用于工業(yè)現(xiàn)場的數(shù)據(jù)通信。
          關鍵詞:;μC/;信號量;消息郵箱;串口通信;STM32F103VB;ST3232

          本文引用地址:http://www.ex-cimer.com/article/156583.htm

          ARM是目前領域中應用最廣泛的RISC微處理器結(jié)構(gòu),以低成本、低功耗、高性能的特點占據(jù)了系統(tǒng)應用領域的領先地位,已遍及工業(yè)控制、消費類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場。STM32F103VB是基于ARM新內(nèi)核Cortex-M3的通用微處理器,STM32V評估板是基于該芯片的學習板并集成了仿真調(diào)試器(Ulink_Me),可以方便用戶快速學習和開發(fā)用戶程序。目前常見的系統(tǒng)有:WinCE、Linux、pSoS、VxWorks和μC/等。μC/OS-Ⅱ是專門為嵌入式系統(tǒng)應用設計的,具有源碼公開、性好、可移植裁剪、高效穩(wěn)定和教學科研免費使用等特點,已經(jīng)成功移植到8、16、32和64位等多種微處理器上,廣泛應用于照相攝影、醫(yī)療器械、音響設備、工業(yè)機器人控制、發(fā)動機控制、航空器、高速公路電話系統(tǒng)、自動提款機等眾多領域。這里以STM32V評估板為硬件開發(fā)平臺,結(jié)合μC/OS-II嵌入式,設計了基于信號量、消息郵箱的串口通信應用程序。

          1 信號量、消息郵箱
          μC/OS-II由事件(Event)驅(qū)動,一般事件包括信號量(Semaphores)、互斥信號量(Mutex semaphores)、消息郵箱(Message Mail boxes)、消息隊列(Message Query)、事件標志組(Event Flag Group)等。其中信號量和消息郵箱作為一種常見的通信機制,在數(shù)據(jù)通信過程中應用最為廣泛。
          1.1 信號量(Semaphores)
          μC/OS-II的信號量由2部分組成:一個是信號的計數(shù)值(0~65 535);另一個是由等待該信號量的任務組成的等待任務列表。信號量可用于以下場合:允許一個任務與其他任務或中斷同步;取得共享資源的使用權(quán)(滿足互斥條件);標志事件的發(fā)生。
          對信號量一般可以實施以下3種操作:初始化(INITIALIZE)信號量或者稱為創(chuàng)建信號量(CREATE);等待信號量(WAIT)或者稱為掛起信號量(PEND);發(fā)送信號量(POST)。
          信號量在初始化過程中需要給信號量賦初值,等待信號量的任務表(WAWING LIST)應清為空。信號量的使用需要調(diào)用相應的函數(shù)并配置其相關的宏定義,具體如表1所示。

          1.JPG


          1.2 消息郵箱(Message Mail boxes)
          消息郵箱能使任務或中斷服務向另外一個任務發(fā)送一個指針型的變量,這個指針指向一個包含指定“消息”的數(shù)據(jù)結(jié)構(gòu)。消息郵箱發(fā)送的不是消息本身,而是消息的地址指針。
          消息郵箱可用于通知一個事件發(fā)生或作為二值信號量使用。消息郵箱的工作原理是郵箱在初始化時建立一個等待消息的任務列表,當郵箱為空時,等待消息的任務就掛起,并且被加入到等待消息的任務列表中。當郵箱收到消息時,等待任務列表中優(yōu)先級最高的任務或者最先等待消息的任務得到消息,且轉(zhuǎn)入就緒并從任務列表中清除。
          對消息郵箱的操作一般有3種:郵箱初始化(INITIALIZE),或者稱為建立郵箱(CREATE);發(fā)送消息給郵箱(POST);等待消息進入郵箱(PE-ND);無等待請求郵箱消息(ACCEFT)。
          消息郵箱的使用需要調(diào)用相應的函數(shù)并配置其相關的宏定義,具體如表2所示。

          2.JPG

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

          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();