我用的程序是你們提供的,有兩個(gè)鼠標(biāo)總能枚舉完成后工作,有一個(gè)是偶爾能,但多數(shù)是不行,問(wèn)題都是在下面這一步: get_descr(0x01); //獲取設(shè)備描述符
在上面這個(gè)函數(shù)中又包函了下面這個(gè): uint8 get_descr( uint8 type ) /* 從設(shè)備端獲取描述符 */ { status = 0xff; CH375_WR_CMD_PORT( CMD_GET_DESCR ); /* 主機(jī)方式: 控制傳輸-獲取描述符 */ CH375_WR_DAT_PORT( type ); // 描述符類型, 只支持1(設(shè)備)或者2(配置) status = wait_interrupt( ); // 等待CH375操作完成 */ if ( status == USB_INT_SUCCESS ) /* 操作成功 */ { len_descr = rd_usb_data( data_buf ); //讀描述符 } return( status ); } 問(wèn)題就在這里了,那些不能枚舉的鼠標(biāo)都在完成下面這兩步后
CH375_WR_CMD_PORT( CMD_GET_DESCR ); CH375_WR_DAT_PORT( type );
單片機(jī)等不到375操作完成。但是有只是兩個(gè)鼠標(biāo)總是能等到,并枚舉成功的。 我想不同的鼠標(biāo)是有點(diǎn)差異,但是我不知道應(yīng)該修改程序的哪個(gè)地方。