基于LPC2103的藍牙熱敏打印機的開發(fā)
4.3 打印協(xié)議:
串口緩沖區(qū)采用循環(huán)隊列,RS232的串口0與藍牙的串口1共用同一緩沖區(qū),打印處理的主要依據(jù)是協(xié)議主要是基于ESC/POS® 標準的命令協(xié)議,它包括打印控制命令,字符參數(shù)設(shè)置命令,打印排版設(shè)置命令,圖形打印命令,條碼打印命令,曲線打印命令,用戶自定義命令,漢字打印命令等,下表給出一些打印控制命令的格式化式和功能:
還有一些具體命令,可以參考
UnifiedPOS Version 1.10 -- Released February 10, 2006
4.4 字庫部分說明:
支持英數(shù)字符ANK、GB18030 漢字字符。
字庫在FLASH中從0X30存放,0X10起為英文字庫的行列(兩個字) ,起始位置(2個字,高位在前),結(jié)束字節(jié)((2個字,高位在前); 0X20起為中文字庫的行列(兩個字) 起始位置(2個字,高位在前),結(jié)束字節(jié)((2個字,高位在前);
英文字庫下載命令為: 1D 55 ziku_line ziku_row Plongl Plongh,Pl Ph ;
中文字庫下載命令為: 1D 5A ziku_line ziku_row Plongl Plongh,Pl Ph ;
代碼如下:
unsigned char doGS(void)
{
unsigned char mm;
if(comcome()==TRUE) mm = comcomedata ;
else return FALSE;
switch(mm)
{
case 'U':englishZiKuDown();break; // 0x55='U'
case 'Z':chinaZiKuDown();break; // 0x5a='Z'
default :break;
}
return ENABLE;
}
5.小結(jié)
為了使打印機易于使用,我們設(shè)計了簡潔的按鍵和指示燈。在這款打印機中,我們設(shè)計了兩個LED燈,用來指示打印機的狀態(tài),一個是錯誤指示燈,一個是有紙無紙指示也作電源指示用,在不同狀態(tài)下燈的閃爍情況也不一樣,在正常打印下,錯誤指示燈滅,有紙燈亮;在下載位圖和字庫的時候,有紙燈會閃爍;當無紙時,錯誤指示燈亮,有紙燈滅;當打印頭溫度這高時,錯誤指示燈也會亮。
本文創(chuàng)新點:通過增加藍牙通信模塊的增加,使得此熱敏打印機的應該范圍更廣,只要上位機擁有一個藍牙Dongle,就可以實現(xiàn)無線打印??蓮V泛使用在移動政務、警務、煙草、郵政、運輸、配送等等行業(yè)。通過合理的配置加熱時間,可使得打印效果和打印速度之間的實現(xiàn)最最佳配置。
參考文獻:
[1]王俊紅,等.基于AT89C52 單片機的變量噴霧控制器設(shè)計[J].微計算機信息,2006,2:8- 10 .
[2] UnifiedPOS Version 1.10 -- Released February 10, 2006
[3]林銳.軟件工程思想
[4]林銳.高質(zhì)量C++/C 編程指南,2001.7
[5]美國 Micbeal Barr .C/C++嵌入式系統(tǒng)編程,中國電力出版社
[6]美國Steve McConnell.代碼大全, 學苑出版社,1993
評論