[求助]USB鼠标热插拔

程序中有双串口,现在用的是串口1

你要表达什么意思呢?


回复1楼:抱歉未写明意思,用的是论坛上ch375_host_int_para.c,采用串口方式操作鼠标,想解决热插拔,修改如下: do{ //p2_6=~p2_6; if(flag_output==1) { flag_output=0; EA=0; my_program( ); //处理鼠标的数据程序,对应鼠标的键盘操作通过口线点亮发光管, EA=1; } CH375_WR_CMD_PORT(CMD_TEST_CONNECT ); //检测设备插拔 status1 = CH375_RD_DAT_PORT( ); if(status1 == USB_INT_DISCONNECT ) { break; //跳出do-while } // delayms(250); // delayms(250); // delayms(250); }while (1);

在上述程序中,原操作鼠标操是正常的,只要加上 CH375_WR_CMD_PORT(CMD_TEST_CONNECT 及后面的程序;操作就不正常了,在上述程序中加2个-3个delayms(250);鼠标可以操作,但有时会死机,另外热插拔均是不行的。


我们的例子程序ch375_host_int_para.c是支持热插拔的,拔出之后插上会重新枚举的。


我已试了,拔出之后插上,需重新上电才行,不知问题在哪儿,用串口的


另外请详细分析一下,ch375_host_int_para.c拔出之后插上会重新枚举的是如何实现的。


我们程序是在枚举完鼠标之后,在中端断点传输的时候支持热插拔的。如果再插上会重新枚举。详见邮件回复。


谢谢,相关问题已发邮箱


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