单片机型号:STM32F401
FS是Full Speed的意思,指全速USB设备,在电路设计时,通过在DP接1.5K上拉电阻到电源的方法告知主机为全速USB设备,但是在具体使用时,还有问题存在,就是当单片机复位后,主机端虽然还能辨认当前USB设备,但是不能够直接使用,其原因在于USB设备重新启动后,需要完成一个枚举过程,以通知主机。
枚举的具体电路如下图所示,其原理很简单,系统上电后将DE引脚拉高,待USB初始化完毕后,将DE引脚拉低即可。
具体的头文件程序代码如下,建立DE引脚类,并在CUSB类中具体声明。
#ifndef USB_H_
#define USB_H_
#ifdef __cplusplus
extern "C"{
class CUsbDataEnablePin:public CIO_Output
{
public:
CUsbDataEnablePin(void);
};
class CUSB
{
public:
uint8_t Buffer[64];
uint32_t Length;
boolean bFlag;
CUsbDataEnablePin UsbDataEnablePin;
public:
CUSB(voi