用CH375B做主机读USB键盘的问题

用CH375B做主机读USB键盘,使用贵公司的例子程序,在51单片机上运行,键盘被点亮了,但是按键没有反应,程序串口返回一串码是D3 2B 58 C4 2E D5 09 5D,请问是什么意思UploadImages/201292016573827.zip

用CH375B做主机读USB键盘,使用贵公司的例子程序,在51单片机上运行,键盘被点亮了,但是按键没有反应,产生了一次中断,但在下面一段中断代码中读取不到值,请问是什么意思? void intt0() interrupt 0 { unsigned char len_temp,i; CH375_WR_CMD_PORT( CMD_GET_STATUS ); /* 产生操作完成中断, 获取中断状态 */ status=CH375_RD_DAT_PORT(); if(status!=USB_INT_SUCCESS)//&& status==0x20) { CH375_WR_CMD_PORT( CMD_CLR_STALL ); CH375_WR_DAT_PORT(1); // 如果设备端不是CH37X芯片,那么需要修改端点号 ???????????????????????????????怎样修改端点号,具体的依据是什么? endp6_mode=0x80; endp7_mode=0x80; toggle_recv(); issue_token(( endp_int << 4 ) | DEF_USB_PID_IN);//发送从中断端点读数据的令牌 } else { ????????????????????????????????此处读取数据的长度为0,没有数据,是怎么回事? len_temp=rd_usb_data_ex(data_buf); //键盘中断端点数据长度一般为8字节,鼠标为4字节 for(i=0;i!=len_temp;i++) { WR_232(data_buf[i]); data_in[i]=data_buf[i]; } flag_output=1; toggle_recv(); issue_token(( endp_int << 4 ) | DEF_USB_PID_IN);//发送从中断端点读数据的令牌 } }


你要不断发IN令牌读取数据


我也遇到同样问题,程序一直执行下面的这个if,怎么按按键都不进入else的程序,求如何解决? if(status!=USB_INT_SUCCESS)//&& status==0x20) { CH375_WR_CMD_PORT( CMD_CLR_STALL ); CH375_WR_DAT_PORT(1); // 如果设备端不是CH37X芯片,那么需要修改端点号 endp6_mode=0x80; endp7_mode=0x80; toggle_recv(); issue_token(( endp_int << 4 ) | DEF_USB_PID_IN);//发送从中断端点读数据的令牌 } else


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