?? 59054庫函數api說明.c
字號:
59054庫函數API說明
函數說明:
(一).基本I/O庫
1. 液晶顯示 (LCD)
A. void cls(void)
功能: 清屏.
B. void display(char dln,const char *format,..)
功能: 按format定義的格式在液晶上顯示相應數據.
入口: (dln)->顯示行(1--4)
(format)->顯示格式,與BC用printf(...)相同
(...)->所顯示數據
出口: 無
C.void disp(char dln,char dcl,const char *format,...);
功能: 按format定義的格式在液晶相應的行列上定位顯示相應數據.
入口: (dln)->顯示行(1--4)
(dcl)->顯示列(1--16)
(format)->顯示格式,與BC用printf(...)相同
(...)->所顯示數據
出口: 無
D. void displays(char dln,char dcl,const char *format, ...);
功能: 按format定義的格式在液晶上以5*7點陣形式顯示相應ASCII字符.
入口: (dln)->顯示行(1--8)
(dcl)->顯示列(1--21)
(format)->顯示格式,與BC用printf(...)相同
(...)->所顯示數據
出口: 無
E. void dispdot(char line,char array,unsigned char length,char *dot);
功能: 在液晶上以8*1點陣形式顯示點陣.
入口: (line)->顯示行(1--8)
(array)->顯示列(1--128)
(length)->顯示點陣長度(1--128)
(*dot)->欲顯示的點陣數據
出口: 無
F. void set_inverse(char n);
功能: 反白顯示(反白對dispdot無效)
入口: 0-正常 1-反白
出口: 無
G. void disable_lcd_light(void);
功能:關閉液晶的背光
入口:無
出口:無
H. void enable_lcd_light(void);
功能:打開液晶的背光
入口:無
出口:無
I . void lcdlight_manage(char seconds);
功能:液晶的背光開關控制
入口:背光打開的持續時間
出口:無
2. 鍵盤輸入 (KEY)
A.char inkey(int second);
功能: 在規定時間內等待按鍵,若超時且無按鍵,返回\0否則返回相應鍵碼.
入口: second為等待按鍵的時限(單位為秒)
若second=0,則無限等待.
出口: 對應鍵碼
按鍵 鍵碼(16進制)
0--9 30--39H
A--Z 41--5AH
*/. 2A/2EH
ENTER 0DH
清除 03H
退格 01H
查詢 11H
消費 12H
撤消 13H
結算 14H
退貨 15H
鎖定 16H
打印 17H
IC卡 18H
B. char kbhit(void)
功能: 從輸入緩沖區讀取一個字符按鍵
入口: 無
出口: 0-無按鍵
1-按鍵
C. char getastr(char ln,char *str)
功能:從鍵盤在指定的行輸入字符串,直至按ENTER鍵為止,
輸入完成后去除光標。
入口: (ln)->指定行(1--4)
str->鍵盤輸入串緩沖區
出口: 鍵盤輸入的串長度.cancel鍵返回1,str[0]返回0xff.
D. char getnstr(char ln,char *str)
功能:從鍵盤在指定的行輸入數字串,直至按ENTER鍵為止,
輸入完成后去除光標。
入口: (ln)->指定行(1--4)
str->鍵盤輸入串緩沖區
出口: 鍵盤輸入的串長度.cancel鍵返回1,str[0]返回0xff.
E. char getamount(char ln,char *str)
功能:從鍵盤在指定的行輸入金額串,直至按ENTER鍵為止
入口: (ln)->指定行(1--4)
str->鍵盤輸入串緩沖區
出口: 鍵盤輸入的串長度.cancel鍵返回1,str[0]返回0xff.
F. char getstr(char line,char col,char font,char mode,char *str);
功能:從鍵盤在指定行列以指定字體(8*16或5*7)輸入數字串或數字字母串。不改變本行原有內容,輸入長度以本行剩余長度為限。
入口:line----->指定行
col----->指定列
font----->0:8*16字體,1:5*7字體
mode--->0:輸入數字串,1:輸入字母串
出口: 鍵盤輸入的串長度.cancel鍵返回1,str[0]返回0xff.
3. 打印機
A. char printer(const char *format,...);
功能: 往打印機送ESC命令集或打印ASCii字符串(最大40bytes),一次只打印一行,多余字節忽略。
入口: format->打印格式
... -> 打引內容
出口: 0-ESC命令解釋完畢或數據已提交后臺打印。
1--缺紙,同時缺紙燈亮,蜂鳴器響一聲。
2--過溫保護,蜂鳴器響四聲(對M311/M312有效)。
3-馬達卡住或不能移動太快,同時蜂鳴器響二聲,590E告警燈亮。
4-M311/M312機芯復位錯,同時蜂鳴器響三聲。
B. char cprinter(const char *format,...);
功能: 打印漢字或ASCII字符(最大46字符),一次打印一行,多余字節忽略。
入口: 與A相同。
出口: 與A相同。
C. int get_printer_status(void);
功能: 返回打印機當前狀態
入口: 無
出口: 0--打印機準備好
1--缺紙,同時缺紙燈亮,蜂鳴器響一聲。
2--過溫保護,蜂鳴器響四聲(對M311/M312有效)。
3--馬達卡住或不能移動太快,同時蜂鳴器響二聲,590E告警燈亮。
4-M311/M312機芯復位錯,同時蜂鳴器響三聲。
D. int feed_printer(char line_num);
功能: 快速進紙line_num行(最大44行)
入口: line_num->進紙行數
出口: 0--進紙正常
1--缺紙,同時缺紙燈亮,蜂鳴器響一聲。
2--過溫保護,蜂鳴器響四聲(對M311/M312有效)。
3--馬達卡住或不能移動太快,同時蜂鳴器響二聲,590E告警燈亮。
4--M311/M312機芯復位錯,同時蜂鳴器響三聲。
E. void semiautoloadpaper(void);
功能: 等待插入紙,并自動進紙20行(若無紙插入則等待)
入口: 無
出口: 無
F. int feed_back_printer(char line_num);
功能:退紙line_num行(最大44行),僅對590E有此功能,590無此功能。
入口:line_num,退紙行數。
出口: 0-退紙正常
1--缺紙,同時缺紙燈亮,蜂鳴器響一聲。
3--馬達卡住或不能移動太快,同時蜂鳴器響二聲,590E告警燈亮。
二、打印機部分ESC命令集:
1、 ESC5X7DOUBLE "\x1b!\x32"
設置5x7倍寬模式。
2、 ESC5X7SINGLE "\x1b!\x30"
設置西文5x7正常模式。
3、 ESC7X7DOUBLE "\x1b!\x33"
設置7x7倍寬模式。
4、ESC7X7SINGLE "\x1b!\x31"
設置西文7x7正常模式(開模正常模式)。
5、 ESC7X7 "\x1bM"
設置選擇7x7西文字體。
6、 ESC5X7 "\x1bP"
設置選擇5x7西文字體。
7、 ESCLF16 "\x1b\x34"
設置1/6 inch換行量
8、 ESCLF18 "\x1b\x32"
設置1/8 inch換行量(對590----固定為1/8inch)。
9、 ESCINIT "\x1b@"
初始化命令,設置各參數為默認置。
10、 ESCHZDOUBLE "\x1bH\x30"
設置漢字打印為正常寬度方式。
11、 ESCHZNORMAL "\x1bH\x31"
設置漢字打印為縮小寬度方式。
12、 ESC_HZASCII_16X8 "\x1bN\x31"
設置cprinter()中的西文字體為16X8點陣方式。
13、 ESC_HZASCII_NORMAL "\x1bN\x30"
設置cprinter()中的西文字體為當前字體模式。
14、 ESC_HZ_UNI_DIR "\x1bU\x31"
設置單向打印漢字方式。
15、 ESC_HZ_BI_DIR "\x1bU\x30"
設置雙向打印漢字方式(僅對590E有效)。
注:
1、 當票據的第一行打印位置在很靠近票據頂部時,由于票據的撕紙
線必須露出到出紙口,
下一次打印時,可能就打不到票據的第一行打印位置,解決辦法
是可以在每次打印票
據前調用feed_back_printer(n)先退紙若干行。
2、 因采用步進馬達進紙,允許行距為1/8英寸或1/6英寸,用外卡的
商戶可能會用1/6英寸
行距,此時可通過“ESCLF16”命令設置。默認為1/8英寸進紙。
3、 通常590E所用機芯雙向打印漢字時的效果是可以接受的,但使用
時間長后,不能保證
漢字的上下兩行對齊。所以建議正常使用中采用默認的單向打印
漢字方式,在其它需
要提高打印速度的地方,可通過命令“ESC_HZ_BI_DIR”設置,該
命令對590POS無效。
4. 密碼鍵盤 (PIN)
A. char reset_pinpad(void);
功能: 軟件復位
返回: 'S':成功
'E':失敗
B. char load_master_key(char key_id, char *s);
功能: 下裝主密鑰表*
入口: key_id: 主密鑰號 (00h-1fh)
*s: 主密鑰指針 (8 bytes)
返回: 'S':成功
'E':失敗
C. char select_master_key(char key_id);
功能: 選擇主密鑰號
入口: key_id:主密鑰號 (00h-1fh)
返回: 'S':成功
'E':失敗
D. char load_workkey(char *s);
功能: 下裝工作密鑰
入口: *s: 工作密鑰指針(8 bytes)
返回: 'S':成功
'E':失敗
E. char load_card_no(char *s);
功能: 下裝卡號
入口: *s: 卡號指針 (8 bytes)
返回: 'S':成功
'E':失敗
F. char read_pinpad(char len,char disp_mode,char encrypt_mode,char *s);
功能: 下裝密碼長度,顯示方式,加密方式,等待輸入PIN。增加超時返回功能,超時時限由
settimer(char seconds)函數確定
入口: len: 設置 pin 長度 (1--15bytes)
(為0時密碼輸入長度為1-15任意)
disp_mode: 0-顯示PIN
1-顯示 '*'
encrypt_mode: 0-不做A算法
1-進行A算法加密
*s-返回數據指針 (16 bytes)
返回: 'S':成功
'E':失敗
'C':POS 按<CANCEL>鍵退出或settimer(int seconds)超時退出
G. char user_encrypt(char *s1,char *s2);
功能: 用戶數據加密
入口: *s1: 加密數據指針 (0-16字節)
*s2: 返回數據指針
返回: 'S': 成功
'E': 失敗
H. char display_pinpad(char *s);
功能: 顯示數據 (0-15字節)
入口: *s 字符串指針
返回: 'S': 成功
'E': 失敗
密碼鍵盤按確認鍵清屏,若密碼鍵盤未按確認鍵則密碼鍵盤始終點亮
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -