你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

F429-disco的VCP驱动问题

[复制链接]
watershade 提问时间:2015-6-4 11:50 /
阅读主题, 点击返回1楼
收藏 评论24 发布时间:2015-6-4 11:50
24个回答
小小超 回答时间:2015-6-5 09:21:23
学习一下。什么叫VCP还不知道
stary666 回答时间:2015-6-5 10:09:47
学习一下。。。
stary666 回答时间:2015-6-5 10:11:11
我也不喜欢HAL,太绕,看着看着就晕了
watershade 回答时间:2015-6-5 10:13:33
ts2000 发表于 2015-6-5 09:21
学习一下。什么叫VCP还不知道

VCP虚拟串口,virtual com port
watershade 回答时间:2015-6-5 10:13:50
stary666 发表于 2015-6-5 10:11
我也不喜欢HAL,太绕,看着看着就晕了

是有点绕
watershade 回答时间:2015-6-5 10:15:04

必须,只是有时候专注应用的时候,被驱动伤的无限专注应用就悲惨了。还是沉淀的不够呀,学习学习...
stary666 回答时间:2015-6-5 10:16:33
同感啊,所以我一直坚持寄存器,HAL只做参考
watershade 回答时间:2015-6-5 10:18:55
creep 发表于 2015-6-4 16:57
HAL的结构的使用和Linux的做法很相似,将硬件层和应用层分离出来,这样的做法是很好的,但是适应的确需要 ...

从ST下的标准库是没有USB的,如果是F2/F4你还需要下载stm32_f105-07_f2_f4_usb-host-device_lib这个库,如果是F103就要下另一个USB库。但是这只是刚开始的时候配置费点劲,以后也就好了。
watershade 回答时间:2015-6-8 08:54:22
问题终于在上周五解决了,先说怎么解决的。
在usbd_conf.h中有两个宏:USBD_MAX_NUM_INTERFACES和USBD_MAX_NUM_CONFIGURATION。我将其值设置为2,问题顺利解决了。
这两个宏对应于CubeMX软件USB_DEVICE Configuration 配置卡里面Basic Parameters的头两项。
再说一下为什么要改这两项。在我用USB VIEW观察的时候我看到了两个接口。所以USBD_MAX_NUM_INTERFACES改为2是合理的。CDC类的确有两个Interface:第一个包含通讯端点,第二个包含两个数据端点。
但是为什么要将USBD_MAX_NUM_CONFIGURATION设置为2,我就不清楚,我只清楚的是:在usbd_ctlreq.c的函数USBD_SetConfig内部有if (cfgidx > USBD_MAX_NUM_CONFIGURATION ) 这句话。而cfgidx的含义是什么呐?我在追踪了一会发现这个值,可能是由setup阶段有关。

那么有谁能告诉我USBD_MAX_NUM_CONFIGURATION是什么意思。
watershade 回答时间:2015-6-24 00:05:38
watershade 发表于 2015-6-8 08:54
问题终于在上周五解决了,先说怎么解决的。
在usbd_conf.h中有两个宏:USBD_MAX_NUM_INTERFACES和USBD_MAX_ ...

上面的解决方案有问题,稍后我会在随后的帖子中详细说明中间的过程。
上面有点误导的意思。
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版