STM32Cube在Main里判断USB是否已连接到电脑

首先添加这两个Includes:

#include "usbd_def.h"
#include "usbd_hid.h"

然后就可以在代码里用这个来判断是否有连接了:

 if(hUsbDeviceFS.dev_state==USBD_STATE_CONFIGURED)

主要有这几个状态:

/*  Device Status */
#define USBD_STATE_DEFAULT                              0x01U
#define USBD_STATE_ADDRESSED                            0x02U
#define USBD_STATE_CONFIGURED                           0x03U
#define USBD_STATE_SUSPENDED                            0x04U

如果出现找不到hUsbDeviceFS的情况,可参考这个:
https://www.cnblogs.com/DragonStart/p/12004286.html

原文地址:https://www.cnblogs.com/DragonStart/p/12004294.html