在主函数中加入下面的函数就可以了。
void USB_Disconnected(void)
{
__HAL_RCC_USB_FORCE_RESET();
HAL_Delay(200);
__HAL_RCC_USB_RELEASE_RESET();
GPIO_InitTypeDef GPIO_Initure;
__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_Initure.Pin = GPIO_PIN_11 | GPIO_PIN_12;
GPIO_Initure.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_Initure.Pull = GPIO_PULLDOWN;
GPIO_Initure.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_Initure);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_11, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET);
HAL_Delay(300);
}
int main(void)
{
SCB->VTOR = FLASH_APP_ADDR;
HAL_Init();
SystemClock_Config();
USB_Disconnected();
MX_GPIO_Init();
MX_USB_DEVICE_Init();
LED_INIT();
protocol_init();
debug_shell_init();
// printf("APP Code Start\r\n");
// printf("%s\r\n", Device_Version_Info_Str);
// printf("Device_Name_Info_Str:%s\r\n", Device_Name_Info_Str);
while (1)
{
//Running_Water_Led();
//Data_Handler();
protocol_ontick();
debug_shell_handler();
}
}