打印
[51单片机]

那位大侠做过STC单片机USB控制打印机

[复制链接]
2786|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
东方赤那|  楼主 | 2013-10-18 11:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的硬件是STC89C58和CH375,通过总线方式进行通信,我的程序在读取配置描述符的时候返回回来的数据不对,请各位支招!!
 while ( get_descr(1) != USB_INT_SUCCESS );
                len = rd_usb_data( buffer );        
                Usb_dev_descr = (PUSB_DEV_DESCR)buffer;               
                          
           if ( len<18 || Usb_dev_descr->bDescriptorType!=1 )
                     return( UNKNOWN_USB_DEVICE );                                                                          /* 意外错误:描述符长度错误或者类型错误 */                       
           if ( Usb_dev_descr->bDeviceClass!=0 )
                   return( UNKNOWN_USB_DEVICE );
                                                                                         
                         while ((status = set_addr(0x10)) != USB_INT_SUCCESS );       
                               
                         while ((status = get_descr(2)) != USB_INT_SUCCESS );                                                                                                                                                                                                                                                                   
                                        len = rd_usb_data( buffer );        len 的值是0x14,不对就在这,应该大于25个字节                                                  
                                        displayLcd(buffer[0]);自己写的调试函数
                                        beep(10);自己写的调试函数                                 

相关帖子

沙发
huangqi412| | 2013-10-18 11:12 | 只看该作者
找沁恒技术支持啊。   

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
东方赤那 + 1 很给力!
板凳
huangqi412| | 2013-10-18 11:12 | 只看该作者
沁恒技术支持响应很快,

使用特权

评论回复
地板
东方赤那|  楼主 | 2013-10-18 13:28 | 只看该作者
不错,他们反应很快,谢谢你的提醒

使用特权

评论回复
5
东方赤那|  楼主 | 2013-10-22 11:38 | 只看该作者
是得到了他们的支持,可问题还是没有解决。

使用特权

评论回复
6
东方赤那|  楼主 | 2013-11-12 13:50 | 只看该作者
问题解决了,是返回的配置描述符太大,缓冲区溢出

使用特权

评论回复
7
gonggu8181| | 2013-11-26 07:31 | 只看该作者
mark

使用特权

评论回复
8
shujie418| | 2013-11-26 16:39 | 只看该作者
深联华加密单片机  QFP44封装

使用特权

评论回复
9
xxiao6130| | 2013-11-27 19:25 | 只看该作者
谁有stc 15w104sw单片机的资料?麻烦发一份给我咯?谢谢!

使用特权

评论回复
10
东方赤那|  楼主 | 2014-1-2 13:43 | 只看该作者
STC15W104  到stc官网问问

使用特权

评论回复
11
东方赤那|  楼主 | 2014-1-2 14:14 | 只看该作者
这个问题我仔细说一下,希望对以后做这样的有所帮助,
问题的出现是在用CH375B的内置命令 get_descr(2))时不能正确的读到配置描述符,原因是打印机的配置描述符数据有128字节,get_descr(2))一次只能存64字节, 这样就会出错, 在CH375B手册上有这样的说明,遇到这样的情况就需要用外置命令,也就是USB标准命令,需要自己动手写,附件上是我自己写的,在hp5608上已通过,简单的说一下,每次读只能读8个字节,这是因为端点0只能接受8字节。另外单片机属于大端存储,所以short类型需要变化一下。

ch375print外置固件.zip

79.26 KB

配置USB设备

使用特权

评论回复
12
hxcnz| | 2015-7-21 13:18 | 只看该作者
同问……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

56

帖子

4

粉丝