Universal serial bus full-speed device interface (USB)
[RXDP,RXDM] status
A device may require to exit from suspend mode as an answer to particular events not
directly related to the USB protocol (e.g. a mouse movement wakes up the whole system).
In this case, the resume sequence can be started by setting the RESUME bit in the
USB_CNTR register to '1 and resetting it to 0 after an interval between 1 ms and 15 ms (this
interval can be timed using ESOF interrupts, occurring with a 1 ms period when the system
clock is running at nominal frequency). Once the RESUME bit is clear, the resume
sequence will be completed by the host PC and its end can be monitored again using the
RXDP and RXDM bits in the USB_FNR register.
Note:
The RESUME bit must be anyway used only after the USB peripheral has been put in
suspend mode, setting the FSUSP bit in USB_CNTR register to 1.
If multiple events could have cause the system resume (via EXT1) it is recommended to re-
start the USB 48 MHz clock as soon as possible. Once this clock is active it is possible to
confirm if the event source was the USB resume (for instance WKUP bit).
1980/2083
Table 405. Resume event detection
Wakeup event
"00"
Root reset
"10"
None (noise on bus)
"01"
Root resume
"11"
Not allowed (noise on bus)
None
Go back in Suspend mode
None
Go back in Suspend mode
RM0440 Rev 1
Required resume software action
RM0440
Need help?
Do you have a question about the STM32G4 Series and is the answer not in the manual?