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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Android平臺(tái)的無(wú)線(xiàn)打印模塊設(shè)計(jì)

          基于Android平臺(tái)的無(wú)線(xiàn)打印模塊設(shè)計(jì)

          作者: 時(shí)間:2016-10-10 來(lái)源:網(wǎng)絡(luò) 收藏

          本打印模塊針對(duì)平臺(tái)提供打印機(jī)驅(qū)動(dòng)程序,既支持PS(PostScript)語(yǔ)言的打印機(jī),也可以通過(guò)Imageto Raster和RastertotHP(或RastertoEpson)過(guò)濾器將需要打印的內(nèi)容轉(zhuǎn)換為HP公司的PCL(Print Control Language)、Epson公司的ESC/P等。Backend過(guò)濾器選用USB,以配合所選打印機(jī)的接口。打印實(shí)現(xiàn)流程圖如圖6所示。

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

          c.JPG


          Backend過(guò)濾器USB打印接口是通過(guò)AT91RM9200,按照USB主機(jī)規(guī)范控制其自帶的主機(jī)接口實(shí)現(xiàn)的,主要包括I/O緩存的初始化、USB主機(jī)芯片的初始化以及USB打印機(jī)的設(shè)備枚舉及初始化等。USB打印機(jī)設(shè)備的驅(qū)動(dòng)程序結(jié)構(gòu)框圖如圖7所示,流程圖如圖8所示。

          d1.jpg

          d.JPG


          首先對(duì)I/O緩存以及AT91RM9200的USB主機(jī)部分進(jìn)行初始化。其中,關(guān)于USB主機(jī)部分的初始化包括了對(duì)外設(shè)時(shí)鐘的設(shè)置,初始化host stack,將所有的TD、ED和HCCA全部歸零,USB主機(jī)軟復(fù)位,設(shè)置AIC中斷等。
          然后通過(guò)對(duì)早先定義的全局變量HOST_Rhsclntr的監(jiān)控,判斷是否有中斷發(fā)生,從而來(lái)判斷是否有USB接口打印機(jī)的接入,以決定是否進(jìn)行下一步的枚舉操作。一旦檢測(cè)到,主機(jī)則要等待400ms,使插入操作完成并使設(shè)備電源穩(wěn)定工作。然后進(jìn)行對(duì)USB打印機(jī)的枚舉過(guò)程。
          再通過(guò)對(duì)函數(shù)USBHostPrinterGetStatus()的調(diào)用,查詢(xún)當(dāng)前的USB打印機(jī)的工作狀態(tài)——是否離線(xiàn),是否缺紙,是否發(fā)生錯(cuò)誤。并根據(jù)得到Print_Status中的8位數(shù)值來(lái)判斷打印機(jī)的工作狀態(tài),如果處于正常的等待打印的狀態(tài),則進(jìn)入到正常打印狀態(tài)。由于采用的HP公司支持USB口和PCL5打印命令的打印機(jī),通過(guò)對(duì)相關(guān)PCL打印命令的調(diào)用,完成對(duì)打印機(jī)的復(fù)位、設(shè)置紙張大小、頁(yè)面格式和字體大小等操作。緊接著則可以通過(guò)端點(diǎn)的調(diào)用進(jìn)行數(shù)據(jù)的傳輸,進(jìn)行打印工作。最后通過(guò)調(diào)用函數(shù)USBHostPrinterReset()再次對(duì)打印機(jī)進(jìn)行軟復(fù)位,等待下一次的打印請(qǐng)求。

          5 實(shí)驗(yàn)結(jié)果
          實(shí)驗(yàn)采用HTC智能手機(jī)發(fā)送文本文件到打印模塊,打印模塊通過(guò)USB接口與HP激光打印機(jī)連接,打印模塊將文件傳輸?shù)酱蛴C(jī),最后由打印機(jī)打印輸出。圖9為打印模塊打印設(shè)置界面,圖10為打印操作頁(yè)面。

          e1.jpg

          e.JPG



          結(jié)語(yǔ)
          本文采用高性能ARM處理器AT91RM9200以及操作系統(tǒng),采用移植Linux下相關(guān)開(kāi)源驅(qū)動(dòng)的方式,通過(guò)調(diào)用Linux內(nèi)核的CUPS,實(shí)現(xiàn)系統(tǒng)上的USB打印功能,解決了智能移動(dòng)終端沒(méi)備(如智能手機(jī)或平板電腦等)不支持直接打印功能的問(wèn)題,給移動(dòng)用戶(hù)帶來(lái)了文件打印的便利。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁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); })();