Хотя-бы модель проца озвучил... Я помню такой момент (для
STM32F103) - для правильного входа в Suspend (или в момент выхода
по Resume???) надо строго соблюсти определенную последовательность
записи в регистры USB. При нарушении процедуры счетчик отсутствия SOF-пакетов не сбрасывается (Suspend - по отсутствию 3-х SOF пакетов). И после Resume в следующий раз состояния Suspend не увидишь (т.к. счетчик с прошлого раза переполнен и не считает).