我需要将ESCPOS命令发送到我的热敏打印机。 这些命令列在这里: http://pyramidacceptors.com/cms/wp-content/uploads/2013/02/ESC_POS_Protocol_Commands_REV_B.pdf
如何通过python串口发送简单的HEX代码? 串行连接完成。 我想做一个全面的尝试:
content = "\x1B\x6D"
ser.write(content)
但它不起作用,我需要经常使用.pdf,所以在python中使用hex时有什么要小心的吗? 例如,打印和送纸n行命令应该在python中: 1B 64 n n =行
content = "\x1B\x64\x5"
ser.write(content)
答案 0 :(得分:0)
首先,你不发送“hex”。您发送二进制数据 - 这是字节的流。
每个字节可能表示(以及其他)作为从00
到FF
的十六进制数字或ASCII字符。
据我了解,描述ESC POS协议的文档给出了应该以二进制形式发送的各种命令的“人工表示”。
例如,鉴于“print and feed”,我读到了:
HEX ASCII Print and feed paper n lines 1B 64 n Esc d n
这意味着,为了“打印并提供 5 行”,您必须发送 3个字节:
\x1B\x64\x05
在Python> = 2.6中,这是写的(注意b
前缀):
b"\x1B\x64\x05"
或者给出你的代码片段,这会导致:
content = b"\x1B\x64\x05"
ser.write(content)
请注意我不知道该设备。也许您必须发送某种前缀才能将其切换为“命令模式”。也许不是。