问题描述
如题,我已经用库:LibUsbDotNet.dll控制针式打印机UsbDeviceFinderMyUsbFinder=newUsbDeviceFinder(VID,PID);UsbDeviceMyUsbDevice=UsbDevice.OpenUsbDevice(MyUsbFinder);//打开写端点,Ep01UsbEndpointWriterwriter=MyUsbDevice.OpenEndpointWriter(WriteEndpointID.Ep01);//打开读端点,Ep02UsbEndpointReaderreader=MyUsbDevice.OpenEndpointReader(ReadEndpointID.Ep02);UsbWrite("打印内容");已经能够成功的打印内容.但是如何才能获取打印机的状态<是否打印完成?>或者<是否空闲?>或者<准备就绪?>这些消息能够通过,爱普生的StatusMonitor3程序来监听得到。所以我肯定是有办法通过调用什么来获取的。求高手帮助
解决方案
解决方案二:
看看你的驱动有没有可以从串行口读取内容的说明。通常在票据打印程序中,不需要这么高级的功能,人工判断即可。你的程序只要判断write代码运行是否正确就行了,不用考虑read运行是否正确。
解决方案三:
引用1楼sp1234的回复:
看看你的驱动有没有可以从串行口读取内容的说明。通常在票据打印程序中,不需要这么高级的功能,人工判断即可。你的程序只要判断write代码运行是否正确就行了,不用考虑read运行是否正确。
使用write可能是判断是否成功,可能是唯一方法了。但是既然指令中有:DLEEOT为什么却返回不了消息,难道是打印机不支持吗?但是打印机自带的StatusMonitor3却能监听到,真的弄的头都很大辣
解决方案四:
你发给设备的指令对不对,你可以用串口助手去调试一下。
解决方案五:
引用3楼unearth的回复:
你发给设备的指令对不对,你可以用串口助手去调试一下。
感谢指点
时间: 2024-10-25 16:51:07