便携热敏打印机开发指令集
1.1 ESC S0 设置字符倍宽打印
【格式】 ASCII 码 ESC S0
十六进制码 1B 0E
十进制码 27 14
功能:设置打印字符以正常宽度的 2 倍打印。
说明:·在一行内该命定之后的所有字符均以正常宽度的 2 倍打印;
·在该命定后可用 DC4 命令来恢复正常打印。
1.2 ESC DC4 取消字符倍宽打印
【格式】 ASCII 码 ESC DC4
十六进制码 1B 14
十进制码 27 20
功能:取消字符倍宽打印。
说明:·用在 ESC S0 命定之后, 恢复字符的正常宽度打印。
1.3 ESC SP n 设置字符右间距
【格式】 ASCII 码 ESC SP n
十六进制码 1B 20 n
十进制码 27 32 n
功能:设置字符间的右间距。
说明:·其字符间间距为: n*0.125mm, n 的取值为:0 ≤ n≤255(n 默认为 0);
·当字符放大时,右间距随之放大相同的倍数;
1.4 ESC ! n 选择字符打印模式
【格式】 ASCII 码 ESC ! n
十六进制码 1B 21 n
十进制码 27 33 n
功能:根据 n 的值来设置字符打印方式,n 的 D0--D7 位定义如下表:
位 取值 十六进制码 功能
0
0 00 24 点阵字号
1 01 16 点阵字号
1,2 -- -- 未定义
3
0 00 取消加粗模式
1 01 选择加粗模式
4
0 00 取消倍高模式
1 01 选择倍高模式
shijzrev180706
4/25
5
0 00 取消倍宽模式
1 01 选择倍宽模式
6 -- -- 未定义
7
0 00 取消下划线模式
1 01 选择下划线模式
说明:·0 ≤ n≤255(n 默认值为 0),n 的值设定后未重新设定则一直有效;
·当倍宽和倍高模式同时选择时,字符同时在横向和纵向放大两倍;
·当一行中部分字符为倍高或更高,所有字符以底端对齐;
·ESC E 也能选择或取消加粗模式,最后被执行的命令有效;
·ESC – 也能选择或取消下划线模式,最后被执行的命令有效;
·GS ! 也能设置字符大小,最后被执行的命令有效;
1.5 ESC $ nL nH 设置绝对打印位置
【格式】 ASCII 码 ESC $ nL nH
十六进制码 1B 24 nL nH
十进制码 27 36 nL nH
功能:将当前位置设置到距离行首(nL + nH×256)点处。
说明:·其中 0≤nL ≤ 255; 0 ≤nH≤255,如果设置位置在指定打印区域外则该命定被
忽略;
1.6 ESC – n 选择/取消下划线模式
【格式】 ASCII 码 ESC – n
十六进制码 1B 2D n
十进制码 27 45 n
功能:根据 n 的取值来选择或是取消下划线模式。
说明:·0 ≤ n ≤2, 48 ≤n ≤ 50 ;n 默认值为 0,取值及功能如下:
n 功能
0,48 取消下划线模式
1,49 选择下划线模式(1 点宽)
2,50 选择下划线模式(2 点宽)
·下划线可加在所有字符下(包括右间距),但不包括 HT 设置的空格;
·改变字符大小不影响当前下划线宽度;
·下划线选择取消也可以由 ESC !来设置。最后执行的命令有效;
1.7 ESC 2 设置默认行间距
【格式】 ASCII 码 ESC 2
十六进制码 1B 32
十进制码 27 50
功能:选择约 3.75mm 行间距。
5/25
1.8 ESC 3 n 设置行间距
【格式】 ASCII 码 ESC 3 n
十六进制码 1B 33 n
十进制码 27 51 n
功能:设置行间距为 n 点, 0 ≤ n ≤ 255。
1.9 ESC @ 初始化打印机
【格式】 ASCII 码 ESC @
十六进制码 1B 40
十进制码 27 64
功能:清除打印缓冲区数据,打印模式被设为上电时的默认值模式。
1.10 ESC B n t 控制蜂鸣器提示
【格式】 ASCII 码 ESC B n t
十六进制码 1B 42 n t
十进制码 27 66 n t
功能:控制蜂鸣器提示。
说明:·n 值为蜂鸣器鸣叫的次数;
·t 值为蜂鸣器每次鸣叫的时间,时间为(t × 50)ms。
1.11 ESC C m t n 控制蜂鸣器提示及指示灯闪烁
【格式】 ASCII 码 ESC C m t n
十六进制码 1B 43 m t n
十进制码 27 67 m t n
功能:控制蜂鸣器提示, 同时报警灯闪烁。
说明:·m 值为蜂鸣器鸣叫的次数, 同时也是指示灯闪烁的次数;
·n 值为指示灯每次常亮的时间,时间为(t × 50)ms。
1.12 ESC D n1... nk NUL 设置横向跳格位置
【格式】 ASCII 码 ESC D n1... nk NUL
十六进制码 1B 44 n1... nk 00
十进制码 27 68 n1... nk 0
功能:设置横向跳格位置:由行首起第 n(1 ≤ n ≤ 255)列设置一个跳格位置;共
有 k(0 ≤ k ≤ 32)个跳格位置
说明:·横向跳格位置由下式计算:
·当 n = 8 时,当前位置为第九列;
·最多设置 32 个( k = 32) 跳格位置,超过 32 的跳格位置数据被作为普通数据处
理;
·跳格位置按升序排列 ,结束符为 NUL;
·当 nk 小于或等于前一个值 nk -1 值时,跳格设置结束。后面的数据作为普通数
6/25
据处理;
·默认跳格设置是每 8 个标准 ASCII 码(12×24)一个跳格位置(列 9,17,25,…)。
1.13 ESC E n 选择/取消加粗模式
【格式】 ASCII 码 ESC E n
十六进制码 1B 45 n
十进制码 27 69 n
功能:根据 n 取值选择或取消加粗模式。
说明:·0 ≤ n ≤ 255,但只有 n 的最低位有效;
·当最低位为 0 时,取消加粗模式;
·当最低位为 1 时,选择加粗模式;
·ESC ! 同样可以选择/取消加粗模式,最后接收的命令有效;
·n 默认为 0。
1.14 ESC G n 选择/取消双重打印模式
【格式】 ASCII 码 ESC G n
十六进制码 1B 47 n
十进制码 27 71 n
功能:根据 n 选择/取消双重打印模式。
·当最低位为 0 时,取消双重打印模式;
·当最低位为 1 时,选择双重打印模式;
·该命令与加粗打印效果相同;
·n 默认为 0。
1.15 ESC J n 打印并走纸 n 点行
【格式】 ASCII 码 ESC J n
十六进制码 1B 4A n
十进制码 27 74 n
功能:打印缓冲区数据并走纸 n 点行,0≤n≤255。
说明:·打印结束后,将当前打印位置置于行首;
1.16 ESC M n 选择字号
【格式】 ASCII 码 ESC M n
十六进制码 1B 4D n
十进制码 27 77 n
功能:根据 n 值选择字体,n 值可取:0、1、48、49。
说明:·n 值对应字体如下表:
n 功能
0,48 选择 24 点阵字号
1,49 选择 16 点阵字号
7/25
1.17 ESC N n m 设置打印机参数并保存到 Flash 中
【格式】 ASCII 码 ESC N n m
十六进制码 1B 4E n m
十进制码 27 78 n m
注意: 因该指令涉及 FLASH 操作, 所以, 发送该指令后要至少延时 100 毫秒.
1.18 ESC U n 设置字符倍宽
【格式】 ASCII 码 ESC U n
十六进制码 1B 55 n
十进制码 27 85 n
功能:设置字符倍宽打印
n 功能
1 字符不倍宽
2 字符宽度放大两倍
1.19 ESC W n 设置字符倍宽倍高
【格式】 ASCII 码 ESC W n
十六进制码 1B 57 n
十进制码 27 87 n
功能:设置字符倍宽倍高打印
n 功能
1 字符不倍宽不倍高
说明
1B 4E 00 00 恢复出厂设置
1B 4E 02 m 设置串口波特率(取值范围 1~8, 默认 m=6, 波
特率 230400)
m=1:波特率 9600 m=2:波特率 19200
m=3:波特率 38400 m=4:波特率 57600
m=5 波特率 115200 m=6:波特率 230400
m=7 波特率 460800 m=8:波特率 921600
1B 4E 04 m 设置打印浓度级别(取值范围 0~9, 默认 m=0)
m =1:打印浓度级别 1
m =2:打印浓度级别 2
m =3:打印浓度级别 3
m =4:打印浓度级别 4
…
m =9:打印浓度级别 9
1B 4E 05 m 设置代码页(默认 m=15 CP_936, 简体中文)
m 的值与 [ESC t n]指令中的 n 值意义相同.
8/25
2 字符宽度高度都放大两倍
1.20 ESC \ nL nH 设置相对横向打印位置
【格式】 ASCII 码 ESC \ nL nH
十六进制码 1B 5C nL nH
十进制码 27 92 nL nH
功能:设置横向相对位移,
说明:·该命令将打印位置设置到距当前位置( nL + nH×256)处,
0≤nL≤255;0≤nH≤255。
·超出可打印区域的设置将被忽略;
·当打印位置向右移动时:nL+ nH×256 = N;
·打印起始位置从当前位置移动到 N 点位置处.
1.21 ESC a n 选择对齐方式
【格式】 ASCII 码 ESC a n
十六进制码 1B 61 n
十进制码 27 97 n
功能:使所有的打印数据按某一指定对齐方式排列。
说明:·0≤n ≤2,48≤n ≤50, n 默认为 0。取值与对齐方式对应关系如下:
n 对齐方式
0,48 左对齐
1,49 中间对齐
2,50 右对齐
·该命令只在行首有效;
·该命令在打印区域执行对齐;
1.22 ESC d n 打印并向前走纸 n 字符行
【格式】 ASCII 码 ESC d n
十六进制码 1B 64 n
十进制码 27 100 n
功能:打印缓冲区里的数据并向前走纸 n 字符行, 0≤n≤255。
说明:·该命令将打印机的打印起始位置设置在行首;
·该命令不影响由 ESC 2 或 ESC 3 设置的行间距;
1.23 ESC i 打印机全切纸
【格式】 ASCII 码 ESC i
十六进制码 1B 69
十进制码 27 105
9/25
功能:打印机全切纸
1.24 ESC l o a d n1 n2 n3 n4 m1 m2 m3 … mk 升级新版固件
【格式】 ASCII 码 ESC l o a d n1 n2 n3 n4 m1 m2 m3 … mk
十六进制码 1B 6C 6F 61 64 n1 n2 n3 n4 m1 m2 m3 … mk
十进制码 27 108 111 97 100 n1 n2 n3 n4 m1 m2 m3 … mk
功能:升级新版固件
说明: n1 n2 n3 n4 用四个字节来表示固件长度 k.
m1 m2 m3 … mk 表示固件数据, k = (n1 << 24)+ (n2 << 16) + (n3 <<8 )+ n4;
1.25 ESC m 打印机半切纸
【格式】 ASCII 码 ESC m
十六进制码 1B 6d
十进制码 27 109
功能:打印机半切纸
1.26 ESC t n 设置代码页
【格式】 ASCII ESC t n
十六进制 1B 74 n
【范围】 0 ≤ n ≤128
【描述】 从字符代码表中选择页 n
n 代码页
0 CP 437 [美国,欧洲标准]
2 CP 850 [多语言, 西欧语]
3 CP 860 [葡萄牙语]
4 CP 863 [加拿大-法语]
5 CP 865 [北欧- 德语,日耳曼语]
6 CP 1252 [West Europe]
7 CP 737 [Greek]
8 CP 862 [Hebrew]
11 CP 775 [波罗的海语]
13 CP 949 [韩文]
14 CP 950 [繁体中文]
15 CP 936 [简体中文]
16 CP 1252
17 CP 866 [Cyrillice*2]
18 CP 852 [Latin2]
19 CP 858 [西欧语]
21 CP 866 [斯拉夫语/俄语]
10/25
22 CP 855 [斯拉夫语 保加利亚]
23 CP 857 [土耳其语]
24 CP 864 [阿拉伯语]
34 CP 1251[西里尔文 斯拉夫语 俄语]
35 CP 1252[西欧(拉丁文 I)]
36 CP 1253[希腊文]
37 CP 1254[土耳其文]
38 CP 1255[希伯来文]
39 CP 1256[阿拉伯文]
40 CP 1257[波罗的海文]
备注:
CP1251, 西里尔文, 如:保加利亚语,俄语,乌克兰语,比利时语,马其顿语
(FYROM),哈萨克语,吉尔吉斯语,鞑靼语,蒙古语,阿塞拜疆语,乌兹别克语,塞尔维亚语
CP1252, 西欧(拉丁文 I), 如:加泰隆语,丹麦语,德语,英语,西班牙语,芬兰语,法语,冰
岛语,意大利语,荷兰语,挪威语,葡萄牙语,印度尼西亚语,巴士克语,南非语,法罗语,马来语,斯瓦
希里语,加里西亚语,瑞典语
CP1253, 希腊文, 如:希腊语
CP1254, 土耳其文, 如:土耳其语,阿塞拜疆语,乌兹别克语
CP1255, 希伯来文, 如:希伯来语
CP1256, 阿拉伯文, 如:乌都语,波斯语,阿拉伯语(伊拉克,埃及,利比亚,阿尔及
利亚,摩洛哥,突尼斯,阿曼,也门,叙利亚,约旦,黎巴嫩,科威特,阿联酋,巴林,卡塔尔)
CP1257, 波罗的海文, 如:爱沙尼亚语,拉脱维亚语,立陶宛语,
1.27 ESC v 查询打印机状态
【格式】 ASCII 码 ESC v
十六进制码 1B 76
十进制码 27 118
功能: 查询打印机状态 N,N 的 D0—D4 位定义如下表:
位 取值 十六进制码 功能
0
0 00 停止打印
1 01 正在打印
1
0 00 电压正常
1 01 电压过低
2
0 00 温度正常
1 01 温度过高
3
0 00 有纸
1 01 缺纸
5
0 00 未插入外部电源
1 01 已插入外部电源
6
0 00 胶辊已到位
1 01 胶辊未到位
11/25
1.28 ESC w 查询打印结果
【格式】 ASCII 码 ESC w
十六进制码 1B 77
十进制码 27 119
功能: 查询打印结果 N, N 的值定义如下表:
N 打印结果
0 有纸, 缓冲区数据未打印完毕, 正在打印
1 有纸, 缓冲区数据打印完毕, 打印成功
2 缺纸, 缓冲区数据未打印完毕, 打印失败
1.29 ESC { n 选择/取消倒置打印模式
【格式】 ASCII 码 ESC { n
十六进制码 1B 7B n
十进制码 27 123 n
功能:根据 n 值选择或取消倒置打印模式,0 ≤ n ≤ 255 但 n 值只有最低位有效。
说明:·当 n 的最低位为 0 时,取消倒置打印模式;
·当 n 的最低位为 1 时,选择倒置打印模式;
·n 默认值为 0;
12/25
第2章 FS 指令
2.1 FS ! n 设置字符模式
【格式】 ASCII 码 FS ! n
十六进制码 1C 21 n
十进制码 28 33 n
功能: 设置字符模式, n 的值定义如下表:
2.2 FS - n 设置字符下划线
【格式】 ASCII 码 FS – n
十六进制码 1C 2D n
十进制码 28 45 n
n 功能
2.3 FS C n 设置字符编码格式
【格式】 ASCII 码 FS C n
十六进制码 1C 43 n
十进制码 28 67 n
功能:根据 n 的取值来选择字符编码格式。
说明:取值范围: 0≤ n ≤1, 48≤ n ≤19, 255;n 默认值为 0,取值及功能如下:
n 功能
0,48 设置为 GB18030 编码格式
1,49 设置为 BIG5 编码格式
13/25
255 设置为 UTF-8 编码格式
2.4 FS W n 选择/取消字符放大两倍打印
【格式】 ASCII 码 FS W n
十六进制码 1C 57 n
十进制码 27 87 n
功能:根据 n 值选择或取消字符放大两倍打印,0 ≤ n ≤ 255 但 n 值只有最低位有效。
说明:·当 n 的最低位为 0 时,取消字符放大两倍打印;
·当 n 的最低位为 1 时,选择字符放大两倍打印;
·n 默认值为 0;
14/25
第 3 章 GS 指令
3.1 GS ! n 选择字符大小
【格式】 ASCII 码 GS ! n
十六进制码 1D 21 n
十进制码 29 33 n
功能:用 n 的 0 到 2 位选择字符高度,4 到 7 位选择字符宽度。
位 0/1 十六进制码 十进制码 功能
0-3 字符高度选择,见表 1
4-7 字符高度选择,见表 2
表 1 表 2
字符高度选择 字符宽度选择
十六进制码 十进制码 纵向放大 十六进制码 十进制码 横向放大
00 0 1(正常) 00 0 1(正常)
01 1 2(2 倍高) 10 16 2(2 倍宽)
说明:·0 ≤ n ≤255;n 默认为 0,1 ≤,纵向放大倍数≤ 2;1 ≤横向放达倍数≤ 2。
·该条命令对所有字符(ASCII 码字符和汉字)都有效.
·n 值如果超出了规定的范围,则该命令被忽略;
·同一行字符的放大倍数不同时,所有的字符以底线对齐;
·ESC ! 命令也可以选择或者取消字符倍宽和倍高,最后接收的命令有效。
3.2 GS B n 选择/取消反白打印模式
【格式】 ASCII 码 GS B n
十六进制码 1D 42 n
十进制码 29 66 n
功能:根据 n 值选择或取消反白打印模式,0 ≤ n ≤ 255 但 n 值只有最低位有效。
说明:·当 n 的最低位为 0 时,取消反白打印模式;
·当 n 的最低位为 1 时,选择反白打印模式;
·n 默认值为 0;
3.3 GS H n 选择 HRI 字符的打印位置
【格式】 ASCII 码 GS H n
十六进制码 1D 48 n
15/25
十进制码 29 72 n
功能:打印条码时,为 HRI 字符选择打印位置。
说明:·0 ≤ n ≤ 3, 48 ≤ n ≤ 51(n 默认为 0),n 指定 HRI 打印位置如下表:
n 值 打印位置
0,48 不打印
1,49 条码上方
2,50 条码下方
3,51 条码上、下方都打印
·HRI 是对条码内容注释的字符;
·HRI 字符的字体是由 GS f 命令来指定。
3.4 GS L nL nH 设置左边距
【格式】 ASCII 码 GS L nL nH
十六进制码 1D 4C nL nH
十进制码 29 76 nL nH
功能:用 nL 和 nH 设置左边距,左边距设置为( nL + nH×256)点。
说明:·0 ≤ nL ≤ 255;0 ≤ nH ≤ 255,nL 和 nH 默认值均为 0;
3.5 GS W nL nH 设置打印区域宽度
【格式】 ASCII 码 GS W nL nH
十六进制码 1D 57 nL nH
十进制码 29 87 nL nH
功能:用 nL 和 nH 设置打印区域宽度。
说明: 将打印区域宽度设置为[( nL + nH × 256)点。
如果[左边距 + 打印区宽度]超出可打印区域,则打印区域宽度为可打印区域宽度 减
去左边距。
0 ≤ nL ≤ 255;0 ≤ nH ≤ 255,nL 和 nH 默认值均为 0;
16/25
3.6 GS h n 选择条码高度
【格式】 ASCII 码 GS h n
十六进制码 1D 68 n
十进制码 29 104 n
功能:选择条码高度,条码高度为 n 点(1 ≤ n ≤ 255,n 默认为 162)。
3.7 ①GS k m d1...dk NUL②GS k m n d1...dn 打印条码
【格式】①ASCII 码 GS k m d1...dk NUL
十六进制码 1D 6B m d1...dk 00
十进制码 29 107 m d1...dk 0
②ASCII 码 GS k m n d1... dn
十六进制码 1D 6B m n d1... Dn
十进制码 29 107 m n d1... dn
【范围】①0 ≤ m ≤ 6 (k 和 d 的取值范围是由条码类型来决定)
②65 ≤ m ≤ 73 (k 和 d 的取值范围是由条码类型来决定)
功能:选择一种条码类型并打印条码,m 用来选择条码类型,如下所示:
m 条码类型 字符个数 字符 备注
①
0 UPC-A 11 ≤ k ≤ 12 0~9 48 ≤ d ≤ 57
1 UPC-E 11 ≤ k ≤ 12 0~9 48 ≤ d ≤ 57
2 JAN13(EAN13) 12 ≤ k ≤ 13 0~9 48 ≤ d ≤ 57
3 JAN8(EAN8) 7≤ k ≤8 0~9 48 ≤ d ≤ 57
4 CODE39
1 ≤ k ≤ 255
0~9,
A~Z,
SP,$,%,+,-,
., /
*(开始/结束字符)
48 ≤ d ≤ 57,
65 ≤ d ≤ 90,
d = 32, 36, 37, 43,
45,46,47
d = 42(开始/结束字符)
5 ITF 1 ≤ n ≤255(偶
数)
0~9 48 ≤ d ≤ 57
6 CODABAR
1 ≤ k ≤ 255
0~9
A~D
$, +, -, .,
/,:
48 ≤ d ≤ 57,
65 ≤ d ≤ 68,
d = 36, 43, 45, 46,
47,58,
②
65 UPC-A 11 ≤ k ≤ 12 0~9 48 ≤ d ≤ 57
66 UPC-E 11 ≤ k ≤ 12 0~9 48 ≤ d ≤ 57
67 JAN13(EAN13) 12 ≤ k ≤ 13 0~9 48 ≤ d ≤ 57
68 JAN8(EAN8) 7≤ k ≤8 0~9 48 ≤ d ≤ 57
69
CODE39
0~9,
A~Z,
48 ≤ d ≤ 57,
65 ≤ d ≤ 90,
17/25
1 ≤ k ≤ 255 SP,$,%,+,-,
., /
*(开始/结束字符)
45,46,47
70 ITF 1 ≤ n ≤255(偶
数)
0~9 48 ≤ d ≤ 57
71
CODABAR 1 ≤ k ≤ 255
0~9
A~D
$, +, -, .,
/,:
48 ≤ d ≤ 57,
65 ≤ d ≤ 68,
47,58,
72 CODE93 1 ≤ k ≤ 255 NU~SP(7FH) 0 ≤ d ≤127
73 CODE128 2 ≤ k ≤ 255 NU~SP(7FH) 0 ≤ d ≤127
说明:对于指定①:
·该命令在这种格式下以 NUL 结束;
·当选择 UPC-A 或者 UPC-E 码时,打印机接收到 12 字节条码数据后,剩余的字
符被当作普通字符处理;
·当选择 JAN13 (EAN13)类型时,打印机接收到 13 字节条码数据后,剩余的字符
被当作普通字符处理;
·当选择 JAN8 (EAN8),类型时,打印机接收到 8 字节条码数据后,剩余的字符被
当作普通字符处理;
·ITF 码数据个数必须是偶数。如果输入奇数个条码数据,最后一个数据被忽略。
对于指定②:
·n 用来指示条码数据的个数,打印机将其后边 n 字节数据作为条码数据处理;
·如果 n 超出了规定的范围,打印机不处理这条命令,将其后的数据作为普通数
据处理。
在标准模式下,对于这两条命定:
·如果条码数据 d 超出了规定的范围,该命令无效;
·如果条码横向超出了打印区域,无效;
·这条命令不管由 ESC 2 或 ESC 3 命令设置的行高是多少,走纸距离都与设定的条
码高度相等;
·这条命令只有在打印缓冲区没有数据时才有效,如果打印缓冲区有数据,该命令
被忽略;
·打印条码后,将打印位置设置在行首;
·打印模式设置(如加粗、双重打印、下划线、字符大小、反色以及字符顺时针旋
转 90°等)不影响这条命令,但是倒置模式对条码打印有影响。
·这条命令只将条码图形生成到打印缓冲区,但是并不打印。处理完条码数据后将
打印位置移到条码的右边;
·如果 d 超出了规定的范围,该命令将被忽略;
·如果条码宽度超出了打印区域,该命令被忽略。
18/25
3.8 GS v 0 m xL xH yL yH d1...dk 打印光栅位图
【格式】 ASCII 码 GS v 0 NUL xL xH yL yH d1...dk
十六进制码 1D 76 30 0 xL xH yL yH d1...dk
十进制码 29 118 48 0 xL xH yL yH d1...dk
功能:打印光栅位图
各参数范围: 0 ≤ xL ≤ 255 , 0 ≤ xH ≤ 255
0 ≤ yL ≤ 255 , 0 ≤ d ≤ 255
k = ( xL + xH × 256) × ( yL + yH × 256) ( k ≠ 0)。
说明:·xL、xH 表示水平方向位图字节数(xL+ xH × 256);
·yL、yH 表示垂直方向位图点数( yL+ yH × 256);
·只有打印机缓冲区无数据时该命令才有效;
·字符放大、加粗、双重打印、倒置打印、下划线、黑白反显等打印模式对该命
令无效;
·位图超出打印区域的部分不打印;
·ESC a(选择对齐模式)对光栅位图有效;
·宏定义的过程中,该命令将停止宏定义而执行该命令。该命令不作为宏定义的
一部分;
·d 代表位图数据。每个字节的相应位为 1 表示打印该点,为 0 不打印该点。
3.9 GS w n 选择条码模块宽度
【格式】 ASCII 码 GS w n
十六进制码 1D 77 n
十进制码 29 119 n
功能:选择条码模块宽度, 1 ≤ n ≤ 5,n 默认为 3。
19/25
第 4 章 RS 指令
4.1 RS SOH 进入休眠模式
【格式】 ASCII 码 RS SOH
十六进制码 1E 01
十进制码 30 01
功能: 打印机立即进入休眠模式
4.2 RS STX N1 N2 N3 N3 N5 设置自动进入休眠超时时间
【格式】 ASCII 码 RS STX N1 N2 N3 N4 N5
十六进制码 1E 02 N1 N2 N3 N4 N5
十进制码 30 02 N1 N2 N3 N4 N5
功能: 设置自动进入休眠超时时间.
说明: N1=1. 开启自动进入休眠功能; N1=0. 关闭自动进入休眠功能; 当 N1=0 时,
N2 N3 N4 N5 的值应全部为 0.
系统自动进入休眠的时间
t = (long)(N2<<24)+(long)(N3<<16)+(long)(N4<<8)+N5 毫秒.这个时间不能小于 10 秒.
4.3 RS ETX N1 N2 N3 N4 N5 允许/禁止打印
【格式】 ASCII 码 RS ETX N1 N2 N3 N4 N5
十六进制码 1E 03 N1 N2 N3 N4 N5
十进制码 30 03 N1 N2 N3 N4 N5
功能:允许/禁止打印
说明: N2 N3 N4 N5 的值必须为 16 进制格式的 BF D8 D6 C6
N1=1. 允许打印 N1=0 禁止打印.
4.4 RS EOT N1 N2 N3 N4 N5 设置自动禁止打印超时时间
十六进制码 1E 04 N1 N2 N3 N4 N5
十进制码 30 04 N1 N2 N3 N4 N5
功能:设置自动禁止打印超时时间
N1> 0 使能自动禁止打印功能. 超时时间为 N1 秒;
N = 0 关闭自动禁止打印功能. 一直开启打印功能.
20/25
4.5 RS ENQ 查询系统电源电压
【格式】 ASCII 码 RS ENQ
十六进制码 1E 05
十进制码 30 05
功能:查询系统电源电压
说明: 打印机返回两个字节 nH, nL .
电压值计算方法: Vbat = nH*256+ nL (单位:mv)
4.6 RS SPACE 查询软件版本
【格式】 ASCII 码 RS SPACE
十六进制码 1E 20
十进制码 30 32
功能:查询软件版本
说明: 打印机返回字符串 s .
4.7 RS 0xde 进入串口调试模式
【格式】 ASCII 码 RS 0xde
十六进制码 1E de
十进制码 30 222
功能:进入串口调试模式
4.8 RS 0xdf r e s e t 打印机复位
【格式】 ASCII 码 RS 0xdf r e s e t
十六进制码 1E df 72 65 73 65 74
十进制码 30 32 114 101 115 101 116
功能:打印机接收到此指令后立即复位
4.9 RS 0xf0 U n l o c k 清除 Flash 读保护, 擦除打印机固件.
【格式】 ASCII 码 RS 0xf0 U n l o c k
十六进制码 1E f0 55 6E 6C 6F 63 6B
十进制码 30 240 85 110 108 111 99 107
功能:打印机接收到此指令后清除 Flash 读保护, 擦除打印机固件.
注意: 此指令会擦除打印机固件. 打印机所有功能将都不能使用.
此指令用于加密认证失败后自毁打印程序.
此指令也用于清除 Flash 读保护重新烧录新版打印机程序.
请慎用此指令.
21/25
第 5 章 US 指令
5.1 US SOH 打印自检信息
【格式】 ASCII 码 US SOH
十六进制码 1F 01
十进制码 31 01
功能: 打印自检信息
说明: 打印机接收到此指令后会先把缓冲区内的数据打印完毕, 在打印自检信息前打印
机会将各项参数初始化为默认值.
5.2 US DC1 nH nL n1 n2 n3 … nk 打印 QrCode 二维码
【格式】 ASCII 码 US DC1 nH nL n1 n2 n3 … nk
十六进制码 1F 11 nH nL n1 n2 n3 … nk
十进制码 31 17 nH nL n1 n2 n3 … nk
功能:打印 QrCode 二维码
说明: k 为二维码的字符数目, k = nH*256+nL;
例如: 打印二维码”ABC”, 则发送 16 进制格式的 1F 11 00 03 41 42 43
5.3 US DC2 n 设置 QrCode 二维码对齐方式
【格式】 ASCII 码 US DC2 n
十六进制码 1F 12 n
十进制码 31 18 n
功能:设置 QrCode 二维码对齐方式
说明: n 的取值范围 0 <= n <= 2
n 功能
0 左对齐
1 居中对齐
2 右对齐
5.4 US DC3 n 设置 QrCode 二维码顶部空白高度
【格式】 ASCII 码 US DC3 n
十六进制码 1F 13 n
十进制码 31 19 n
功能:设置 QrCode 二维码顶部空白高度
说明: n 的取值范围 0 <= n <= 255, n 默认取值 24
22/25
5.5 US DC3 n 设置 QrCode 二维码底部空白高度
【格式】 ASCII 码 US DC4 n
十六进制码 1F 14 n
十进制码 31 20 n
功能:设置 QrCode 二维码底部空白高度
5.6 US NAK n 设置 QrCode 二维码最小模块单元宽度
【格式】 ASCII 码 US NAK n
十六进制码 1F 15 n
十进制码 31 21 n
功能:设置 QrCode 二维码最小模块单元宽度
说明: n 的取值范围 2,4,8 n 默认取值 4
5.7 US 0 nH nL n1 n2 n3 … nk 打印 Unicode 字符
【格式】 ASCII 码 US 0 nH nL n1 n2 n3 … nk
十六进制码 1F 30 nH nL n1 n2 n3 … nk
十进制码 31 48 nH nL n1 n2 n3 … nk
功能:打印 Unicode 字符
说明: k 表示 Unicode 字符的数目 k = nH*256+nL;
23/25
第 6 章 其他指令
6.1 HT 从下一制表符位置开始打印
【格式】 ASCII 码 HT
十六进制码 09
十进制码 9
功能:·从下一制表符位置开始打印.
6.2 LF 打印并换行
【格式】 ASCII 码 LF
十六进制码 0A
十进制码 10
功能:·将打印缓冲区中的数据打印出来,并且按照当前行间距,把打印纸向
前推进一行
6.3 FF 进纸到下一主黑标/间隙处
【格式】 ASCII 码 FF
十六进制码 0C
十进制码 12
功能:·进纸到下一黑标/间隙处.
6.4 CR 打印缓冲区内容
【格式】 ASCII 码 CR
十六进制码 0D
十进制码 13
功能:·将打印缓冲区中的数据打印出来.
说明:·如果缓冲区内无数据此指令则无效.
6.5 SO 进纸到下一副黑标处
【格式】 ASCII 码 SO
十六进制码 0E
十进制码 14
功能:·进纸到下一副黑标处.
24/25
附录 1: 版本说明
Feishifs Release: 2018/07/06
说明: 修改 ESC v 指令协议及说明.
Feishifs Release: 2018/05/05
说明: 补充 FS C n 设置字符编码格式指令
Feishifs Release: 2018/04/18
说明: 修改 codepage 命名.
Feishifs Release: 2017/05/06
说明: 在上一版本的基础上:
1. 优化[ESC N n m 设置打印机参数并保存到 Flash 中]指令. 波特率范围增加
230400, 460800, 921600. 修改打印浓度级别说明. 修改设置代码页说明.
2. 增加[US SOH 打印自检信息]指令.
Feishifs Release: 2017/04/19
1. 将打印 unicode 字符指令[US SPACE m nH nL n1 n2 n3 … nk]改为
[US 0 nH nL n1 n2 n3 … nk].
2. 删除了[ESC t n 选择代码页]指令中日文代码页类型.
Feishifs Release: 2017/04/08
3. 纠正了[GS w n 选择模块宽度指令]中错误的描述.
4. 删除了[ESC t n 选择代码页]指令中一些无效的代码页类型.
Feishifs Release: 2017/03/16
说明: 首次发布的标准版本.