Xprinter xp-370b - 从 OS X 开始打印
Xprinter xp-370b - print from OS X
我想从为 OS X 编写的程序向热敏打印机 Xprinter xp-370b
(通过 USB 连接)发送消息。
我使用 IOKit。我可以得到我的打印机接口
IOUSBInterfaceInterface **usbInterface;
并成功打开(*usbInterface)->USBInterfaceOpen(usbInterface);
.
然后我尝试发送消息,WritePipe
的结果是成功的,但是没有任何反应,打印机没有反应。
kern_return_t kr;
UInt8 pipe_ref = 0x01;
char message[] = "SELFTEST";
kr = (*usbInterface)->WritePipe(usbInterface, pipe_ref, message, sizeof(message));
也许该打印机有一些特殊的命令格式?
Maybe there is some special format of commands for that printer?
是的,您几乎可以肯定需要遵循某种二进制消息传递格式。基于 USB 的打印机通常与旧的 LPT 并行端口打印机完全不同,您可以简单地将 ASCII 文本传输到端口并获得有用的结果。
您需要制造商的规范,或其他平台上驱动程序的源代码。或者在最坏的情况下,通过其他方式对协议进行逆向工程。
我想从为 OS X 编写的程序向热敏打印机 Xprinter xp-370b
(通过 USB 连接)发送消息。
我使用 IOKit。我可以得到我的打印机接口
IOUSBInterfaceInterface **usbInterface;
并成功打开(*usbInterface)->USBInterfaceOpen(usbInterface);
.
然后我尝试发送消息,WritePipe
的结果是成功的,但是没有任何反应,打印机没有反应。
kern_return_t kr;
UInt8 pipe_ref = 0x01;
char message[] = "SELFTEST";
kr = (*usbInterface)->WritePipe(usbInterface, pipe_ref, message, sizeof(message));
也许该打印机有一些特殊的命令格式?
Maybe there is some special format of commands for that printer?
是的,您几乎可以肯定需要遵循某种二进制消息传递格式。基于 USB 的打印机通常与旧的 LPT 并行端口打印机完全不同,您可以简单地将 ASCII 文本传输到端口并获得有用的结果。
您需要制造商的规范,或其他平台上驱动程序的源代码。或者在最坏的情况下,通过其他方式对协议进行逆向工程。