2016-07-18 74 views
0

我正在使用usb4java,並且使用幫助頁上描述的示例(http://usb4java.org/quickstart/javax-usb.html)通過同步I/O(pipe.syncSubmit)在收據打印機上打印數據,每行以LF(10)刷新輸出。usb4java - 刷新不起作用

它可以與中國58mm型號配合使用,但是當我連接到Epson 80mm打印機時,輸出會隨機切割。大多數時候最後一行都不見了。

我想知道是否需要做更多的事情不僅僅是發送LF,關閉管道並釋放UsbInterface以確保所有字節都傳輸到打印機。在某種非大容量存儲設備上是否存在某種刷新操作或寫入緩存,我需要以某種方式禁用?

回答

0

嘗試使用管道命令,塊的最大長度爲4個字節,例如

pipe.syncSubmit(new byte[] { 70, 71, 72, 73}); 
pipe.syncSubmit(new byte[] { 74, 75, 76, 10}); 

作爲最後一個字節應該有10行(其刷新thew輸出到打印機)。

這對我有幫助(雖然USB設備宣佈的數據包大小爲64)。不知道是否有usb4java中的錯誤或任何其他問題。