是的是的,LZX说的很对,现在我就在分析呢.
哈哈,分析出什么来了
这样分析太累了,只有那些大闲人才能这样做,我花了三个多月,打了上百个图,才可以在自己的特定用途上用上了,如果想打别的又要再搞了,没资料真的痛苦,但各大打印机厂商很都明确不会提供打印语言的相关资料,个别的有,现在的人都不会这么笨去研究那么底层的东西了,有条件的就用ARM9,装个WINCE,那就什么打印机都有能用上了,像电脑一样了.
单片机控制它是低档的产品,arm9控制就是高档的产品了,我们也是用wince开发的,价格不同啊,争低端市场用arm9不合算的
呵呵,我现在是没有办法,要在老型号的产品上增加USB的打印功能,老的型号还是用的51的芯片,上面加一个ARM的那成本比原来还高了.
我也是呀,
现在真的就是没有资料啊,上次小生发给我的资料我也不知道管不管用?
我现在正在看小生给我的资料,不是很难,就是那写语言怎么组织,看的我是越看越没信心啊~~你们知道怎么组织吗??
肯定管用的
已经有人用那套作出了51控制hp的激光打印机的项目
我真是佩服你们在没有官方技术规范的条件下分析打印数据的方法,我就没那耐心,没有正式的打印描述语言的技术规范,要多花不少时间去分析和模仿,而且做出来也还不太放心,就怕万一弄错 还有,HP2.0打印机速度太慢问题解决了吗,我看get_port_status返回0x00或0xFF绝对是不正常的,另外,USB打印机规范要求get_device_id能够返回几十个字节的数据,否则要先查出原因,虽然不是CH375的问题,但还是要查并口操作/电路干扰/地址冲突等,软件方面,一是打印机初始化过程可能漏了什么,二是会不会打印机支持双向传输且必须双向,另外,也要怀疑这个打印机是否符合USB打印机规范,或是打印机有bug
谢谢店小二的补充,现在我已暂时不用HP的,不过有时间也会再次研究的, 我记得在电脑上用bushound发get_port_status的控制传输,也是反回0x00的,用CH375在没送数前发get_port_status也是回0x00,但发数据返回NAK后,再发get_port_status就失败了,现在是get_device_id是可以了;
我现在枚举过程都还停顺利的,但是到发送数据到HP打印机就不知道为什么出错了,LZX你是怎么发送的呀?
枚举后向块传输输出端点发送数据就行了,
怎么来分析哪个是输出端点呢?为什么我向端点1发送每次都返回的是错误呢?