Уже раз тут написали - дергать надо ножкой. Винда посчитает что
усб-девайс вставили-вытащили и все она заново обнаружит... и даже не надо транзюком ногу к питанию подтягивать, хватает и ножкой усб линии дернуть.
Вот так у меня при использовании USB-FS
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA, GPIO_Pin_11);
Set_System();
Set_USBClock();
USB_Interrupts_Config();
USB_Init();