请教单片机ATmega8通过CH375B连接USB打印机问题,能读取设备描述

请教一下各位高手,我用单片机ATmega8通过CH375B连接USB打印机,现在情况是USB枚举成功,通过读取端口状态get_port_status(),返回0x18。

然后发送打印数据send_data( strlen(str_to_print), str_to_print);/* 可以再次继续发送数据或者接收数据 */

打印机没有反应,请问这个是哪里没对呢,谢谢。

发送数据要按照打印机协议来发送数据的。否则打印机是没有响应的,建议你在电脑上将文件打印到某一个文件,然后按照这个文件里面的内容发送数据,看下打印机是否可以打印。


get_port_status返回状态码中: 位5(Paper Empty)为1说明无纸, 位4(Select)为1说明打印机联机, 位3(Not Error)为0说明打印机出错。0x18说明打印机出错,说明前面枚举还有问题。枚举成功之后才能正常打印。


返回0x18,就是00011000B,那么第5位为0,说明有纸;第4位为1,联机;第3位为1,说明没有错啊。仍然不能打印。。。郁闷中j_0063.gif


不知道这种控制方式有没有人做成功过···


这种方式应该可以正常打印的,首先枚举阶段看看有无命令没响应。数据传输阶段需要对指定端点发送特定的打印机数据。


嗯,继续摸索中。感谢各位的指点。。。


只有登录才能回复,可以选择微信账号登录