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

[复制链接]
3237|11
 楼主| 东方赤那 发表于 2013-10-18 11:05 | 显示全部楼层 |阅读模式
我的硬件是STC89C58和CH375,通过总线方式进行通信,我的程序在读取配置描述符的时候返回回来的数据不对,请各位支招!!
  1. while ( get_descr(1) != USB_INT_SUCCESS );
  2.                 len = rd_usb_data( buffer );        
  3.                 Usb_dev_descr = (PUSB_DEV_DESCR)buffer;               
  4.                           
  5.            if ( len<18 || Usb_dev_descr->bDescriptorType!=1 )
  6.                      return( UNKNOWN_USB_DEVICE );                                                                          /* 意外错误:描述符长度错误或者类型错误 */                       
  7.            if ( Usb_dev_descr->bDeviceClass!=0 )
  8.                    return( UNKNOWN_USB_DEVICE );
  9.                                                                                          
  10.                          while ((status = set_addr(0x10)) != USB_INT_SUCCESS );       
  11.                                
  12.                          while ((status = get_descr(2)) != USB_INT_SUCCESS );                                                                                                                                                                                                                                                                   
  13.                                         len = rd_usb_data( buffer );        len 的值是0x14,不对就在这,应该大于25个字节                                                  
  14.                                         displayLcd(buffer[0]);自己写的调试函数
  15.                                         beep(10);自己写的调试函数                                 
huangqi412 发表于 2013-10-18 11:12 | 显示全部楼层
找沁恒技术支持啊。   

评分

参与人数 1威望 +1 收起 理由
东方赤那 + 1 很给力!

查看全部评分

huangqi412 发表于 2013-10-18 11:12 | 显示全部楼层
沁恒技术支持响应很快,
 楼主| 东方赤那 发表于 2013-10-18 13:28 | 显示全部楼层
不错,他们反应很快,谢谢你的提醒
 楼主| 东方赤那 发表于 2013-10-22 11:38 | 显示全部楼层
是得到了他们的支持,可问题还是没有解决。
 楼主| 东方赤那 发表于 2013-11-12 13:50 | 显示全部楼层
问题解决了,是返回的配置描述符太大,缓冲区溢出
gonggu8181 发表于 2013-11-26 07:31 来自手机 | 显示全部楼层
shujie418 发表于 2013-11-26 16:39 | 显示全部楼层
深联华加密单片机  QFP44封装
xxiao6130 发表于 2013-11-27 19:25 | 显示全部楼层
谁有stc 15w104sw单片机的资料?麻烦发一份给我咯?谢谢!
 楼主| 东方赤那 发表于 2014-1-2 13:43 | 显示全部楼层
STC15W104  到stc官网问问
 楼主| 东方赤那 发表于 2014-1-2 14:14 | 显示全部楼层
这个问题我仔细说一下,希望对以后做这样的有所帮助,
问题的出现是在用CH375B的内置命令 get_descr(2))时不能正确的读到配置描述符,原因是打印机的配置描述符数据有128字节,get_descr(2))一次只能存64字节, 这样就会出错, 在CH375B手册上有这样的说明,遇到这样的情况就需要用外置命令,也就是USB标准命令,需要自己动手写,附件上是我自己写的,在hp5608上已通过,简单的说一下,每次读只能读8个字节,这是因为端点0只能接受8字节。另外单片机属于大端存储,所以short类型需要变化一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
hxcnz 发表于 2015-7-21 13:18 | 显示全部楼层
同问……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

56

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部