F429-disco的VCP驱动安装后显示错误代码10

2019-07-14 13:53发布

最近使用f4cube V1.5开发VCP驱动,按照F429-Discovery板子的配置选择OTG-HS接口作为Device设备来用,选择CDC协议。修改完APP_RX_DATA_SIZE和APP_TX_DATA_SIZE为2048,添加LineCoding代码。可是连接到计算机上,装完驱动(VCP V1.4)之后显示错误代码10的故障。计算机业换过win764/32位的。所以估计是代码的错误,使用USB VIEW观测之后,效果如下:
Device Descriptor:
bcdUSB:             0x0200
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x40 (64)
idVendor:           0x0483 (STMicroelectronics)
idProduct:          0x5740
bcdDevice:          0x0200
iManufacturer:        0x01
0x0409: "STMicroelectronics"
iProduct:             0x02
0x0409: "STM32 Virtual ComPort"
iSerialNumber:        0x03
0x0409: "000000002B1A"
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x00
Device Bus Speed:     Full
Device Address:       0x03
Open Pipes:              0

Configuration Descriptor:
wTotalLength:       0x0043
bNumInterfaces:       0x02
bConfigurationValue:  0x01
iConfiguration:       0x00
bmAttributes:         0xC0 (Bus Powered Self Powered )
MaxPower:             0x32 (100 Ma)

Interface Descriptor:
bInterfaceNumber:     0x00
bAlternateSetting:    0x00
bNumEndpoints:        0x01
bInterfaceClass:      0x02
bInterfaceSubClass:   0x02
bInterfaceProtocol:   0x01
iInterface:           0x00

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x05
05 24 00 10 01

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x05
05 24 01 00 01

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x04
04 24 02 02

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x05
05 24 06 00 01

Endpoint Descriptor:
bEndpointAddress:     0x82  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0008 (8)
bInterval:            0x10

Interface Descriptor:
bInterfaceNumber:     0x01
bAlternateSetting:    0x00
bNumEndpoints:        0x02
bInterfaceClass:      0x0A
bInterfaceSubClass:   0x00
bInterfaceProtocol:   0x00
iInterface:           0x00

Endpoint Descriptor:
bEndpointAddress:     0x01  OUT
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00

Endpoint Descriptor:
bEndpointAddress:     0x81  IN
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00

观察发现枚举应该没有问题,可是端点没有打开。不知何故?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
亲爱的娜娜
1楼-- · 2019-07-16 03:31
naiztycheng 发表于 2019-3-4 15:51
又及:
关于cube和标准库的争辩由来已久。cube的好处是显而易见的:硬件免配置,用户可以将尽力用到应用上,而且熟悉了之后整个代码的结构还是相对简明的。但是标准库的好处也是不用言说的:代码结构非常简洁,不像cube同一个功能要封装几层,标准库很容易追踪到函数的实现。而且用户量庞大。
但是cube在另外一些方面也远远 ...

HAL的结构的使用和Linux的做法很相似,将硬件层和应用层分离出来,这样的做法是很好的,但是适应的确需要个过程,比较标准库用了那么久了。
好像标准库也有USB的各种模式的驱动啊,我不知道你所指的没有USB是说哪方面?
60user189
2楼-- · 2019-07-16 09:30
学习一下。什么叫VCP还不知道
nyvvhxcs
3楼-- · 2019-07-16 12:17
学习一下。。。
nyvvhxcs
4楼-- · 2019-07-16 13:03
我也不喜欢HAL,太绕,看着看着就晕了
naiztycheng
5楼-- · 2019-07-16 18:53
60user189 发表于 2019-3-4 16:45
学习一下。什么叫VCP还不知道

VCP虚拟串口,virtual com port
naiztycheng
6楼-- · 2019-07-16 20:58
nyvvhxcs 发表于 2019-3-4 17:06
我也不喜欢HAL,太绕,看着看着就晕了

是有点绕

一周热门 更多>