Была проблема с запрещением Suspend/Resume.
Я неправильно запрещал Suspend в
usb_pwr.с:
Код
__IO bool fSuspendEnabled = FALSE; /* true when suspend is possible */
Правильно делать так:
Код
STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_conf.h
/* IMR_MSK */
/* mask defining which events has to be handled */
/* by the device application software */
// #define IMR_MSK (CNTR_CTRM | CNTR_WKUPM | CNTR_SUSPM | CNTR_ERRM | CNTR_SOFM \
// | CNTR_ESOFM | CNTR_RESETM )
// Disable Suspend/Resume response completely
#define IMR_MSK (CNTR_CTRM | CNTR_WKUPM | CNTR_ERRM | CNTR_SOFM | CNTR_RESETM )
Работать стало как задумано. Осталось понять взаимосвязь..