This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F5529 USB HID通讯中断

Other Parts Discussed in Thread: MSP430F5529

用msp430F5529通过usb-HID与PC通信,大多数境况下没有问题。

但是有时候在过程中会通信中断,表现为PC原来的HID设备(正常是一个HID设备)无法识别。只有重启电脑或者拔插USB线才能恢复。


追踪代码,发现USB_connectionState()的值由正常状态下的ST_ENUM_ACTIVE

变为:ST_ENUM_IN_PROGRESS。


而导致ST_ENUM_IN_PROGRESS的重点是bEnumerationStatus =0.


if ((USBPWRCTL & USBBGVBV) && (USBCNF & PUR_EN) //这里都是正常的

        && (!(bEnumerationStatus == ENUMERATION_COMPLETE)))  

    {

        return ST_ENUM_IN_PROGRESS;

    }


正常状态下,VBUS上电,PUR高后,设备开始枚举,这时候USB_connectionState()状态为ST_ENUM_IN_PROGRESS,然后枚举成功,进入ST_ENUM_ACTIVE,如果不成功,则ST_NOENUM_SUSPENDED。

搞不懂,实验的这个设备被什么干扰到,结果由ST_ENUM_ACTIVE重新进入ST_ENUM_IN_PROGRESS,而且一直停留在该状态下,无法获得枚举的结果。

有谁由类似的经验吗?望指点迷津。