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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于C語言的RS232串行接口通信實現(xiàn)

          基于C語言的RS232串行接口通信實現(xiàn)

          作者: 時間:2012-08-27 來源:網(wǎng)絡 收藏

          2.2 C的串口軟件

          2.2.1串口軟件流程圖

          圖2數(shù)據(jù)通信的流程圖
          圖2數(shù)據(jù)的流程圖

          2.2.2 C函數(shù)具體串口通信軟件過程

          由于I/O通信口的速度遠遠低于CPU的速度,在查詢工作方式時,CPU長時間處于等待狀態(tài),其效率非常低,不利于CPU的資源利用。解決這一矛盾的有效辦法是采取中斷的通信方式,即當通信口自身準備就緒時,主動提出中斷申請,一旦CPU響應此申請,便暫停執(zhí)行的工作,轉向中斷服務子程序,與外設進行數(shù)據(jù)的交換,數(shù)據(jù)交換完成后返回到主程序中的斷點繼續(xù)執(zhí)行未完成的任務,這樣就避免了CPU資源的浪費㈨。

          為此必須對異步通信適配器以及中斷控制器進行控制。作為系統(tǒng)的外設,異步通信適配器和中斷控制器都有其對應的I/O口地址,所以本文采用C函數(shù)庫中的尋址函數(shù)outportb()和函數(shù)inportb()對上述芯片進行直接讀寫操作。其控制包括對中斷控制器地址的編程,允許IRQ3,IRQ4中斷,同時置MODEM控制寄存器地址為有效,這樣即可中斷方式的通信。根據(jù)圖2的串口通信流程圖,其具體實現(xiàn)串口通信的過程如下:

          1)初始化串口函數(shù)。

          參數(shù)說明:

          ComPortAddr 串口端口地址(coMl口是03F8H COM2口是02F8H)

          IntVectNum 中斷處理號(一般選擇0X0b)

          Baud 波特率

          Data 數(shù)據(jù)位

          STop 停止位

          Parity 奇偶校驗位

          c語言相關文章:c語言教程


          數(shù)字通信相關文章:數(shù)字通信原理


          通信相關文章:通信原理


          交換機相關文章:交換機工作原理




          評論


          相關推薦

          技術專區(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); })();