好久没有写过任何东西了,这篇文章送给所有纠结在STM32F107 USB开发上的童鞋。
在STM32F107的官方库中,已经给好了USB的开发库,直接调用就可以。在使用之前,我们需要做一些了解。请参照文档《USB-FS-Device development kit.pdf》。
文档下载地址:http://download.csdn.net/detail/wwdlk/5122909
有了库,我们就可以很容易的做出一个像模像样的USB自定义设备的开发。
以下,以自定义bulk设备为例说明。
我也懒得写太多代码,直接改动USB-Mass_Storage-SD Card例程,例程下载地址http://download.csdn.net/detail/wwdlk/4704371。
1、描述符。
USB设备的描述符,是整个USB开发的核心,关系到上位机能否识别USB设备并加载相应USB驱动。
我要做一个VID为0x8886,PID为0x0001的自定义设备。
const uint8_t MASS_DeviceDescriptor[MASS_SIZ_DEVICE_DESC] =
{
0x12, /* bLength */
0x01, /* bDescriptorType */
0x00, /* bcdUSB, version 2.00 */
0x02,
0xFF, /* bDeviceClass :>0xFF表示自定义设备 */
0x00, /* bDeviceSubCl