您好!
我这里有一个电池供电的产品、它进入 LPM2睡眠模式、每分钟唤醒一次、然后返回睡眠状态。
该器件配有一个 USB 连接器、我的软件堆栈中有一个 VUSB_ON 中断。 连接 USB 后、会触发中断、器件将唤醒并退出低电平模式。
问题在于、USB 将无法枚举、直到您在第3次左右 USB 连接尝试后"获得幸运"。
是否有人对在 USB 连接上退出 LPM 的最佳方法有任何建议? 我觉得 MSP430需要一些时间才能再次启动并使时钟运行、这可能违反了 USB 枚举要求。
谢谢
太棒了!
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.
您好!
我这里有一个电池供电的产品、它进入 LPM2睡眠模式、每分钟唤醒一次、然后返回睡眠状态。
该器件配有一个 USB 连接器、我的软件堆栈中有一个 VUSB_ON 中断。 连接 USB 后、会触发中断、器件将唤醒并退出低电平模式。
问题在于、USB 将无法枚举、直到您在第3次左右 USB 连接尝试后"获得幸运"。
是否有人对在 USB 连接上退出 LPM 的最佳方法有任何建议? 我觉得 MSP430需要一些时间才能再次启动并使时钟运行、这可能违反了 USB 枚举要求。
谢谢
太棒了!
您好、Stomp、
是否在 USB_handleVbusOnEvent()之后调用 USB_connect()? 如果器件连接到主机,并且软件调用 USB_connect(),则主机通常会立即开始枚举它。 状态会变为 ST_enum_in_progress。 通常、枚举会快速完成、状态会移至 USB_enum_active。 但是、出于各种原因、这种情况可能不会发生。 有关这些原因的说明、请参阅《MSP430 USB 编程人员 API 指南》中的第6.10节。 此外、请查看图8、其中包含 USB 器件状态图。 根据您的描述、当 VBUS 出现时、器件似乎从 ST_PHYS_DISCONNECTED 状态变为 ST_PHYS_Connected NOENUM 状态。 问题似乎出在从 ST_phy_connected_NOENUM 状态变为 ST_enum_active 状态时。
最后、 第12节 提供了一些有用的调试提示、这些提示应该非常有用。
此致、
James
MSP 客户应用