[求助]hcn,你们那个鼠标例程可以实现热插拨吗?

这几天我看了你们的那个用375控制鼠标的例程,感觉这个例程375只能实现一次自动检测到鼠标,即第一次。第一次枚举成功后,就进入了以下死循环:

do{ if(flag_output==1) { P1_2^=0x01; flag_output=0; } }while(1); //////////////////////////////////////////////////////////////////////////////// while ( wait_interrupt()!=USB_INT_DISCONNECT ); /* 等待设备端连接上来 */

我希望能实现像在电脑上那样的重复热插拨,不知道应该怎么修改程序。 还有在死循环后的那条语句有作用吗,应该不能执行到吧?

hcn,你在吗


今天都没人吗,好闷


这个例程可以实现热插拔的,你可以操作下


但是上面这段程序是什么意思呢


你看下中断子程序,它是将数据读出来就串口输出标志位置1,这段程序只要查询到这位为1就将其清0.等到鼠标再连上又产生中断.又将其置1清0.


可是程序进入了这个死循环后,把鼠标拨了再插上,主机应该再次对鼠标初始化,而鼠标的初始化在这个死循环的处面,但这个死循环里并没有跳出循环的语句啊. 还有就是死循环后面那个语句怎么能执行到呢,如果不删去这句,编译不能通过.我用的是avr单片机,IAR编译器. 不删去最后一语句的话,会出现下面的警告: Warning[Pe128]: loop is not reachable from preceding code


那你可以把这个程序修改成查询的方式试下看,实际上查询和中断没什么区别的


好的,谢谢hcn与loveapple


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