由于3月初刚刚接触M487JIDAE这个MCU,目前根据开发板的电路图,重新设计了一个当作普通HID设备使用的电路图,见附件的zip文档。 
目前按照这个电路图设计出来了PCB板,PCB板烧录了HID例程(HSUSBD_HID_MouseKeyboard)成功,但是插到电脑的USB接口上无法识别USB设备,连感叹号都识别不了。(但是同样的HID例程,烧录到M487JIDAE这个开发板上是可以正常识别USB设备的),目前调试了程序,发现最后卡死在这个USB初始化函数出不来: 
- void HSUSBD_Open(S_HSUSBD_INFO_T *param, HSUSBD_CLASS_REQ pfnClassReq, HSUSBD_SET_INTERFACE_REQ pfnSetInterface)
 
 - {
 
 -     g_hsusbd_sInfo = param;
 
 -     g_hsusbd_pfnClassRequest = pfnClassReq;
 
 -     g_hsusbd_pfnSetInterface = pfnSetInterface;
 
  
-     /* get EP0 maximum packet size */
 
 -     g_hsusbd_CtrlMaxPktSize = g_hsusbd_sInfo->gu8DevDesc[7];
 
  
-     /* Initial USB engine */
 
 -     HSUSBD_ENABLE_PHY();
 
  
-     /* wait PHY clock ready */
 
 -     while (1)
 
 -     {
 
 -         HSUSBD->EP[EPA].EPMPS = 0x20ul;
 
 -         if (HSUSBD->EP[EPA].EPMPS == 0x20ul)
 
 -         {
 
 -             HSUSBD->EP[EPA].EPMPS = 0x0ul;
 
 -             break;
 
 -         }
 
 -     }
 
 -     HSUSBD->OPER &= ~HSUSBD_OPER_HISPDEN_Msk;   /* full-speed */
 
 - }
 
 
  复制代码 其中这里的条件if (HSUSBD->EP[EPA].EPMPS == 0x20ul)一直满足不了,无法break退出来: 
 
我这里已经确定了电路上的12M晶振已经跑起来了(使用频谱仪测试了)。所以一直想不到思路了,请教一下大家怎么处理,谢谢! 
 |   
 
 
 
 |