单片机 > 单片机程序设计 > 详情

STM32 CDC HOST初步调试

发布时间:2020-05-18 发布时间:
|

1. 芯片平台: STM32F207VE


2. 使用Cube产生USB host CDC的工程


3. USB CDC设备使用基于FDTI FT232R的USB Dongle


将程序download到PCB上,发现USB并未工作。查看hUsbHostFS变量,其gState的状态为HOST_ABORT_STATE,枚举的状态(EnumState)为ENUM_GET_SERIALNUM_STRING_DESC。 USB设备初始化就失败了。


4. 将usbh_conf.h中的USBH_DEBUG_LEVEL设置为1. 使用Semihost输出的方式(PCB上并未将SWO脚引出到调试接口)。IAR的Terminal IO输出的信息如下:


    USB Device Attached

    PID: 6001h

    VID: 403h

    Address (#1) assigned. 

    Manufacturer : EnOcean GmbH

    Product : EnOcean USB 300 DB

    Serial Number : FTB416E

    Enumeration done.

    This device has only 1 configuration.

    Default configuration set.

    No registered class for this device.


    基本信息其实都已经识别出来了,但是似乎是USB Class 不支持。


5. 搜索网路上的资料,发现有一个帖子上说,类似于Silabs或则FTDI,他们的USB转串口的芯片,经常性使用产商自定义设备,而不是标准的CDC类。帖子的链接如下:http://www.keil.com/forum/20569/


“Virtual COM ports may derive from a vendor specific device using a custom PC driver. For example, FTDI and SiLabs apply vendor specific devices for their USB-UART chips.”


6. 使用帖子上说的UVCView软件查看,bInterfaceClass:  0xFF  -> Vendor Specific Device 。FT232R确实使用了产商自定义设备接口类型。





『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
PIC单片机基础知识之二