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);
}
代码本身非常简单,也可以正常运行
但我不理解的是,如果不在外面套一层if(USBFS_DevEnumStatus)的话似乎就无法正确实现,电脑不会有按键的反应
找到USBHD_IRQHandler中关于这个flag(?)的代码,看上去是在完成各种descriptor后设置fs配置时写为0x01
那我为什么还需要在传数据前进行一次判断?即便我直接放在while(1)里面循环也不行?