STM32 CDC HOST初步调试

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确实使用了产商自定义设备接口类型。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值