我想从为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));
也许该打印机有一些特殊格式的命令?
答案 0 :(得分:1)
也许该打印机有一些特殊格式的命令?
是的,几乎可以肯定您需要遵循某种二进制消息格式。基于USB的打印机通常与旧的LPT并行端口打印机不同,您可以在其中将ASCII文本简单地传递到端口上并获得有用的结果。
您需要制造商的规格,或其他平台上驱动程序的源代码。或者在最坏的情况下,通过其他方式对协议进行逆向工程。