使用375开发打印程序问题,请指教

我买了你的的开发板,在测试打印程序时出现以下问题: 1.使用提供的CH375PRT.C测试时,发现不能正确初始化,原因是返回描述符超出范围。现已解决. 2.初始化正确后,还是无法打印,请问我怎么做? 3.能否提供一些资料?

你们提供有例程,都无法调通,我真不明白,你们的产品怎么能这样? 如果提供的例程只是针对某一打印机的,那应说明,别误导人呀!

一旦初始化完成,你就可以将打印指令集从CH375发向打印机,当然你也要遵循USB打印机的协议.


谢谢答复! 按照协议发数据了,可是打印机没反应,每次读状态,返回为09,请问是否正确?


这么长时间了,也没人回复呀! 我还是没搞懂


你拿BUSHOUND抓一下,计算机在打印时往USB打印机发出的命令,另外初始化过程也可以参照计算机发出的请求,


//============================================ 初始化程序

Bus Hound 3.02 capture. Complements of www.perisoft.net

Dev - Device ID Time - Elapsed time since the start of the previous Phase Phase - ADDR= 1394 transfer address LOCK= 1394 lock transaction CDB = Command block NSTS= NT status CTL = USB control packet RSET= bus reset DI = Data In RSTS= I/O Request Status DO = Data Out SNS = SCSI Sense Data IDE = IDE task file command SSTS= SCSI Request Block Status ISOC= Isochronous Transfer USTS= USB status

(19) DOT4 USB Printing Support [85KB/Sec]

Dev Phase Data Info Time Cmd.Phase.Ofs --- ----- ----------- ------------- ----- ------------------ 19 CTL 80 06 00 01 00 00 12 00

19 DI 12 01 10 01 00 00 00 08 f0 03 17 0e 00 01 01 02 03 01 19 CTL 80 06 00 02 00 00 09 01 19 DI 09 02 4e 00 01 01 00 c0 01 09 04 00 00 03 07 01 03 00 07 05 01 02 40 00 00 07 05 81 02 40 00 00 07 05 82 03 08 00 ff 09 04 00 01 02 07 01 02 00 07 05 01 02 40 00 00 07 05 81 02 40 00 00 09 04 00 02 01 07 01 01 00 07 05 01 02 40 00 00

19 CTL 00 09 01 00 00 00 00 00 19 CTL a1 00 00 00 00 00 ff 00

19 DI 00 94 4d 46 47 3a 48 65 //================================我写的程序只能收到这前八个数据,后面的就没了,为什么? 77 6c 65 74 74 2d 50 61 63 6b 61 72 64 3b 43 4d 44 3a 50 4a 4c 2c 4d 4c 43 2c 42 49 44 49 2d 45 43 50 2c 50 43 4c 2c 44 57 2d 50 43 4c 3b 4d 44 4c 3a 68 70 20 4c 61 73 65 72 4a 65 74 20 31 30 31 35 3b 43 4c 53 3a 50 52 49 4e 54 45 52 3b 44 45 53 3a 48 65 77 6c 65 74 74 2d 50 61 63 6b 61 72 64 20 4c 61 73 65 72 4a 65 74 20 31 30 31 35 3b 4d 45 4d 3a 31 33 4d 42 3b 43 4f 4d 4d 45 4e 54 3a 52 45 53 3d 36 30 30 78 32 3b

这样是不是初始化完成了?好象没有完成,因为以后送打印数据时没有反映!


读完配置描述符后要设置配置,启用打印机。你最后一个命令是获取设备ID,因为数据比较长,你要用循环多读几次,每次读8字节,第一次是DATA1,以后是DATA0、DATA1切换直到结束才能读出,然后就可以打印了,当然你要了解该打印机的语言


还是不太明白,怎么DATA1和DATA0切换啊?


这是USB协议里面的规定,具体的要去看协议,就是在控制传输的时候每次开始都是DATA0开始的


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