Android 串口热敏打印机打印光栅位图

由于要做打印机过热验证测试,需要通过打印黑块来提高打印机的温度。
于是通过打印光栅位图 来提升打印机温度做过热验证。

在这里插入图片描述

由于是串口打印,所以只能使用十六进制格式来发送指令。

十六进制码 1D 76 30 m xL xH yL yH d1…dk

String hex = “1D76303030003000”;
for(int i = 1; i <= 288;i++ ){
hex = hex + “FFFFFFFFFFFFFFFF”;
}

指令解析

1D7630 为十六进制码固定格式
m = 30 十进制为48 即 选择正常模式
xL xH = 30 00 十进制为48 即水平方向取48个字节
yL yH = 30 00 十进制为48 即垂直方向位图点数为48个
d1…dk : k = ( xL + xH × 256) × ( yL + yH × 256) ( k ≠ 0)
k = 48 x 48 = 2304
d 代表位图数据。每个字节的相应位为1表示打印该点,为0不打印该点。

所以d1…dk d1 = FF , d2 = FF, … d2304= FF

由于需要添加的FF比较多,所以使用for循环添加
for(int i = 1; i <= 288;i++ ){
hex = hex + “FFFFFFFFFFFFFFFF”;
}

最终发送的串口指令
mComA.sendHex(hex); //hex = “1D76303030003000FF…FF”

这样发送指令串口热敏打印机只会打印一行黑块,如果需要连续打印黑块,则需要使用while循环发送mComA.sendHex(hex);

猜你喜欢

转载自blog.csdn.net/jydzm/article/details/87936413