if(USBFS_DevEnumStatus)
{
? ? keyReport1[2] = 0x04;
? ? USBFS_Endp_DataUp(DEF_UEP1, keyReport1, sizeof(keyReport1), DEF_UEP_CPY_LOAD);
? ? Delay_Ms(10);
? ? keyReport1[2] = 0x00;
? ? USBFS_Endp_DataUp(DEF_UEP1, keyReport1, sizeof(keyReport1), DEF_UEP_CPY_LOAD);
? ? Delay_Ms(1000);
}
代碼本身非常簡(jiǎn)單,也可以正常運(yùn)行
但我不理解的是,如果不在外面套一層if(USBFS_DevEnumStatus)的話(huà)似乎就無(wú)法正確實(shí)現(xiàn),電腦不會(huì)有按鍵的反應(yīng)
找到USBHD_IRQHandler中關(guān)于這個(gè)flag(?)的代碼,看上去是在完成各種descriptor后設(shè)置fs配置時(shí)寫(xiě)為0x01
那我為什么還需要在傳數(shù)據(jù)前進(jìn)行一次判斷?即便我直接放在while(1)里面循環(huán)也不行?