OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5666|回复: 10

求救,STM32F429移植USB VCP类出现的问题

[复制链接]

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2014-7-25
在线时间
29 小时
发表于 2016-6-1 14:58:57 | 显示全部楼层 |阅读模式
5金钱
最近在搞USB虚拟串口,我将ST的usb官方库 STM32_USB-Host-Device_Lib_V2.1.0 中的VCP类移植到STM32F429的开发板上,编译下载正常,连上USB后出现了下面的现象
捕获.PNG
设备管理器中有一个叹号,显示无法启动,串口助手无法打开。
USB是采用高速模式,使用内部PHY芯片。在同一台电脑上用探索者F407的开发板试过,设备管理器显示运行正常,且可以用串口助手打开,所以应该不是驱动的问题。
请各位大牛看看,若有遇到过这种问题,请提出帮助,万分感谢!

最佳答案

查看完整内容[请看2#楼]

解决了,虽然还是稀里糊涂,在usbd_conf.h文件中,将USB HS模式下的参数改成和USB FS模式下的参数一致(原值被屏蔽到注释中) /* CDC Endpoints parameters: you can fine tune these values depending on the needed baudrates and performance. */ #ifdef USE_USB_OTG_HS #define CDC_DATA_MAX_PACKET_SIZE 64 //512 /* Endpoint IN & OUT Packet size */ #define CDC_CMD_PACKET_SZE 8 /* Control En ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2014-7-25
在线时间
29 小时
 楼主| 发表于 2016-6-1 14:58:58 | 显示全部楼层
解决了,虽然还是稀里糊涂,在usbd_conf.h文件中,将USB HS模式下的参数改成和USB FS模式下的参数一致(原值被屏蔽到注释中)
/* CDC Endpoints parameters: you can fine tune these values depending on the needed baudrates and performance. */
#ifdef USE_USB_OTG_HS
#define CDC_DATA_MAX_PACKET_SIZE       64        //512  /* Endpoint IN & OUT Packet size */
#define CDC_CMD_PACKET_SZE             8    /* Control Endpoint Packet size */

#define CDC_IN_FRAME_INTERVAL          5                //40   /* Number of micro-frames between IN transfers */
#define APP_RX_DATA_SIZE               2048 /* Total size of IN buffer:
                                                APP_RX_DATA_SIZE*8/MAX_BAUDARATE*1000 should be > CDC_IN_FRAME_INTERVAL*8 */
#else
#define CDC_DATA_MAX_PACKET_SIZE       64   /* Endpoint IN & OUT Packet size */
#define CDC_CMD_PACKET_SZE             8    /* Control Endpoint Packet size */

#define CDC_IN_FRAME_INTERVAL          5    /* Number of frames between IN transfers */
#define APP_RX_DATA_SIZE               2048 /* Total size of IN buffer:
                                                APP_RX_DATA_SIZE*8/MAX_BAUDARATE*1000 should be > CDC_IN_FRAME_INTERVAL */
#endif /* USE_USB_OTG_HS */
这样倒是可以工作了
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11475
金钱
11475
注册时间
2014-4-1
在线时间
1297 小时
发表于 2016-6-1 15:21:58 | 显示全部楼层

没做过HS,
但这情况应当就是PC端驱动的问题,缺少文件。。。

回复

使用道具 举报

5

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1522
金钱
1522
注册时间
2014-5-16
在线时间
217 小时
发表于 2016-6-1 15:24:36 | 显示全部楼层
USB虚拟串口可以参考下圈圈的USB教程,说得很细,应该对你有帮助.
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2014-7-25
在线时间
29 小时
 楼主| 发表于 2016-6-1 15:29:13 | 显示全部楼层
zmingwang 发表于 2016-6-1 15:24
USB虚拟串口可以参考下圈圈的USB教程,说得很细,应该对你有帮助.

谢谢,我去看看
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2014-7-25
在线时间
29 小时
 楼主| 发表于 2016-6-1 15:31:09 | 显示全部楼层
xuande 发表于 2016-6-1 15:21
没做过HS,
但这情况应当就是PC端驱动的问题,缺少文件。。。

它其实是用了内部的全速物理芯片,也没接外部芯片。F429开发板的例程有个是USB读卡器倒是可以运行的。
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2014-7-25
在线时间
29 小时
 楼主| 发表于 2016-6-1 15:40:01 | 显示全部楼层
另外如果手动安装驱动的话会出现下图情况:
捕获1.PNG
回复

使用道具 举报

5

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1522
金钱
1522
注册时间
2014-5-16
在线时间
217 小时
发表于 2016-6-1 16:00:31 | 显示全部楼层
我好像看到过STM32官方有提供虚拟串口的驱动,你可以试试
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2014-7-25
在线时间
29 小时
 楼主| 发表于 2016-6-2 15:32:48 | 显示全部楼层
谢谢各位的帮助,最后我还是在用了F429的全速USB模式,任务管理器识别正常,至于高速USB内部PHY模式下的VCP程序,可能官方的工程还是有点问题,期待官方更新或者其他高手解决
回复

使用道具 举报

26

主题

193

帖子

8

精华

金牌会员

Rank: 6Rank: 6

积分
1800
金钱
1800
注册时间
2012-8-23
在线时间
57 小时
发表于 2016-6-4 16:36:57 | 显示全部楼层
我怎么记得这个芯片内部没高速PHY呢?
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2014-7-25
在线时间
29 小时
 楼主| 发表于 2016-6-6 11:14:53 | 显示全部楼层
beyond696 发表于 2016-6-4 16:36
我怎么记得这个芯片内部没高速PHY呢?

确实没有,但有个模式是USB_HS,USE_EMBEDDED_PHY,我也不知道怎么回事
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 11:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表