1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      DPU-3445位圖驅動程序的設計與實現

      更新時間: 2009-07-17 22:00:13來源: 粵嵌教育瀏覽量:1854

       1 引言
        Dpu-3445是Seiko Instrument公司開發的便攜式熱敏打印機,它體積小,重量輕,只有250克左右,打印寬度達104cm,點密度為8dot/mm,速度達50mm/s,有4KB的輸入緩沖區。由于這些特點,我們在設計便攜式產品中選擇它作為系統的輸出設備。

        2 系統實現

        2.1 接口描述
        DPU-3445可以通過串行RS-232接口或IRDA接口同計算機相連。當采用RS-232接口時,信號電平-3到-15V為邏輯‘1’,+3到+15V為邏輯‘0’。波特率可選為1200,2400,4800,9600,19200,38400bps,數據長度可選7或8位。停止位可選1或2位。校驗位可選奇校驗,偶校驗或無校驗。與主機(標準PC機)接口連接如圖1。

       

       

        基于IRDA接口時,傳送距離為0.05m到1m,傳送角度±15°,脈寬典型值為1.63微秒,波特率為9600至115200bps,LSAP地址固定為7。
        Dpu-3445有輸入緩沖區和行緩沖區。當它從主機接收數據時,將數據先存放到輸入緩沖區中,然后再從輸入緩沖區將數據取出放入行緩沖區中并執行命令。

        2.2 位圖輸出驅動程序的實現
        驅動程序的一個主要功能就是利用I/O緩沖,對數據進行加工,包括格式處理和編碼的轉換。Dpu-3445提供了一個位圖處理命令,其格式為:ESC+”*”+m+nl+nh+DATA
        寫成代碼方式為:1bH+2aH+m+nl+nh+d1+d2++dk

        m表明位圖方式:m=0,為8點單密度,m=1,為8點雙密度,m=32,為24點單密度,m=33,為24點雙密度。水平方向的點數為:256×nh+nl。d表示位圖的數據,8點位圖模式時k=(256×nh+nl),24點模式時k=(256×nh+nl)×3。其數據序列如圖2。

       

       

        然而,BMP文件的數據存儲格式與Dpu-3445的數據存儲序列不一致。BMP文件可看成由三部分組成:位圖文件頭(bitmap-file header)、位圖信息(bitmap-infor-mation)和位圖字節陣列。位圖文件頭可用BITMAP-FILEHEADER來定義:

        位圖信息用BITMAPINFO結構來定義,它由位圖信息頭和彩色表組成,形式如下:



        彩色表之后是圖像數據字節陣列。圖像的每一掃描行由表示圖像像素的連續的字節組成,每行的字節數取決于圖像的顏色數目和用像素表示的圖像寬度,
      掃描行是由底向上存儲的,也就是說,陣列的個字節表示位圖左下角的像素,而一個字節表示位圖右上角的像素。
        以黑白BMP文件為例,位圖的寬和高(像素)分別存放在第0x12~0x15與0x16~0x19字節處,數據字節陣列從0x3e開始存放。當用Dpu-3445輸出時,由于陣列排序不一致,所以從位圖文件中讀出的數據必須進行轉換,變換成Dpu-3445位圖處理命令所需要的格式才能輸出。下面給出從黑白BMP數據字節陣列到DPU-3445下24點方式打印數據序列轉換部分的C語言源代碼。


        每調用一次上面所給的C語言源函數arrange(),將可轉換24×128bit的像素點陣數據,如對于128×120的位圖,應調用5次。若轉換像素位圖到DPU-3445下8點方式,則在上面程序段中只需將BITMAP-MODE24換成BITMAPMODE8(其值為8)即可。

       
       3 結束語
        在我們的產品設計中使用了DPU-3445作為位圖的輸出設備,其驅動程序中的數據轉換部分采用如上所述的代碼,取得了令人滿意的效果,達到了設計目標。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 中国久久精品综合网 | 亚洲一级一区二区三 | 亚洲五月综合缴情在线观看 | 一级性做久久久久久 | 亚洲国产综合专区在 | 日韩亚洲欧美一区二区三区在线 |