基于LPC2103的藍牙熱敏打印機的開(kāi)發(fā)
4.3 打印協(xié)議:
串口緩沖區采用循環(huán)隊列,RS232的串口0與藍牙的串口1共用同一緩沖區,打印處理的主要依據是協(xié)議主要是基于ESC/POS® 標準的命令協(xié)議,它包括打印控制命令,字符參數設置命令,打印排版設置命令,圖形打印命令,條碼打印命令,曲線(xiàn)打印命令,用戶(hù)自定義命令,漢字打印命令等,下表給出一些打印控制命令的格式化式和功能:
還有一些具體命令,可以參考
UnifiedPOS Version 1.10 -- Released February 10, 2006
4.4 字庫部分說(shuō)明:
支持英數字符ANK、GB18030 漢字字符。
字庫在FLASH中從0X30存放,0X10起為英文字庫的行列(兩個(gè)字) ,起始位置(2個(gè)字,高位在前),結束字節((2個(gè)字,高位在前); 0X20起為中文字庫的行列(兩個(gè)字) 起始位置(2個(gè)字,高位在前),結束字節((2個(gè)字,高位在前);
英文字庫下載命令為: 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ǎn)潔的按鍵和指示燈。在這款打印機中,我們設計了兩個(gè)LED燈,用來(lái)指示打印機的狀態(tài),一個(gè)是錯誤指示燈,一個(gè)是有紙無(wú)紙指示也作電源指示用,在不同狀態(tài)下燈的閃爍情況也不一樣,在正常打印下,錯誤指示燈滅,有紙燈亮;在下載位圖和字庫的時(shí)候,有紙燈會(huì )閃爍;當無(wú)紙時(shí),錯誤指示燈亮,有紙燈滅;當打印頭溫度這高時(shí),錯誤指示燈也會(huì )亮。
本文創(chuàng )新點(diǎn):通過(guò)增加藍牙通信模塊的增加,使得此熱敏打印機的應該范圍更廣,只要上位機擁有一個(gè)藍牙Dongle,就可以實(shí)現無(wú)線(xiàn)打印??蓮V泛使用在移動(dòng)政務(wù)、警務(wù)、煙草、郵政、運輸、配送等等行業(yè)。通過(guò)合理的配置加熱時(shí)間,可使得打印效果和打印速度之間的實(shí)現最最佳配置。
參考文獻:
[1]王俊紅,等.基于AT89C52 單片機的變量噴霧控制器設計[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++嵌入式系統編程,中國電力出版社
[6]美國Steve McConnell.代碼大全, 學(xué)苑出版社,1993
評論