CH375 鼠标通讯问题,在get_descr_ex出现问题

我的程序和普通 通用鼠标 通讯 是好用的 


==========================================================================================

但是换罗技G303时  却卡在了get_descr_ex()这个函数

get_descr_ex()

{

  ....

.....

....

        toggle_send();

wr_usb_data(8,Request.Req_buf);

issue_token(( 0 << 4 ) | DEF_USB_PID_SETUP);

     

       status=wait_interrupt();// 执行完上面这条  就卡在这了  CH375没有发中断

...

...

...

}

=======================================================================================

unsigned char wait_interrupt()

{  /* 主机端等待操作完成, 返回操作状态 */


  ..//卡在下面这个 while 了

while( CH375_INT_WIRE );  /* 查询等待CH375操作完成中断(INT#低电平) */

CH375_WR_CMD_PORT( CMD_GET_STATUS );  /* 产生操作完成中断, 获取中断状态 */

return( CH375_RD_DAT_PORT() );

}

=====================================================================================

sbitCH375_INT_WIRE=P3^2;

/* P3.2, INT0, 连接CH375的INT#引脚,用于查询中断状态 */

我的硬件是好用的   因为可以读写普通鼠标   调试成功 读的数据都对


但是换罗技G303鼠标就卡在这步了    前面的检测USB设备上线  设置复位 工作方式的都过了   

就卡在get_descr_ex()  了   也不知道为什么


是通讯不标准吗?   哪里有相关详细资料啊?


获取设备描述符就出问题的吗?

如果是获取设备描述符出问题建议你查下这个鼠标是全速设备还是低速设备。全速设备插入时UD+为3.3V,低速设备则是UD-为3.3V


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