当我在Epson TM H6000或TM-88II上打印大量数据时,打印机缓冲区已满,并且不会打印所有数据。我使用c#和SerialPort将数据(通过ESC)发送到打印机(doc:http://support.epostraders.co.uk/support-files/documents/3/ajj-TM-H6000_DeveloperGuide.pdf)。
有没有办法避免缓冲区溢出? 或者我应该减少数据量并发送更少的包?
提前致谢。
此致 亚历
答案 0 :(得分:2)
这是您链接的文件:
当接收缓冲区中的剩余空间减少到16个字节时,打印机状态变为“缓冲区满”并保持“缓冲区满”,直到接收缓冲区中的空间增加到26个字节...打印机忽略数据当接收缓冲区中的剩余空间为0字节时收到
...
传输每行数据后,使用GS I或GS r检查打印机状态 并使用4KB接收缓冲区。传输一行数据,以便接收缓冲区 没有变满。
这听起来像是对你的问题的完美建议。