STM32/STM8技术william hill官网
直播中

康永清

7年用户 179经验值
私信 关注
[问答]

STM32F103的USB VCP无法完成通讯

现在可以用STM32F103来完成HID的USB与上位机的通讯,但是却无法完成VCP的通讯。
下载VCP程序后,操作系统识别为Unkown Device。

哪位高手能不能解释下是不是F103的USB不能用于VCP?还是我自身的问题呢?

回帖(20)

康永清

2018-11-22 09:04:42

VCP一定要ST-LINK吗?自己的板子就不能实现吗?我用的是自己的板子。可以实现HID功能。
举报

张倩

2018-11-22 09:15:05
stm32f103可以用于vcp,既然可以HID那就不是MCU本身不支持了,应该是你的程序有问题。
举报

陈炜

2018-11-22 09:27:37
官方有例程,你可以参考。
举报

李悛

2018-11-22 09:34:29
VCP是ST-LINK/V2-1上面的功能,你用的是ST原厂的板子吗?
举报

毕雅静

2018-11-22 09:50:20
可以的,以前调过。
用ST官网的库就可以实现。
举报

康永清

2018-11-22 09:59:54
引用: 亲爱的娜娜 发表于 2018-11-22 12:52
stm32f103可以用于vcp,既然可以HID那就不是MCU本身不支持了,应该是你的程序有问题。

我也是这么想的,既然HID都可以,那么VCP也应该没有啥问题啊。可是我找了很多网上现成的程序,按照我的对应的板子修改了后都不成,郁闷死了。
举报

康永清

2018-11-22 10:10:30
引用: huazhe 发表于 2018-11-22 13:05
官方有例程,你可以参考。

好吧,我去看看官方的例子。
举报

康永清

2018-11-22 10:17:35
引用: FRAN2016 发表于 2018-11-22 13:28
可以的,以前调过。
用ST官网的库就可以实现。

我也用过官方库的例子。依然不好用。
举报

赵爱香

2018-11-22 10:29:20
我也遇過,你先看下自已的系統吧. 是否只是家用版或者是雨林木风版,這些都會有問題
举报

康永清

2018-11-22 10:35:48
引用: 60user60 发表于 2018-11-22 14:07
我也遇過,你先看下自已的系統吧. 是否只是家用版或者是雨林木风版,這些都會有問題

麻烦你能否说下他们的具体的问题呢?

我的板子是自己做的。
举报

赵爱香

2018-11-22 10:50:49
引用: hanlinceshi 发表于 2018-11-22 14:13
麻烦你能否说下他们的具体的问题呢?

我的板子是自己做的。

我有個案子也是自已做的板子,跟板子相關不太大,如果你的USB參考網上的電路的話(要上拉Vcc別忘了),其它是電腦自身驅動不完全的問題. 先在系統看下是什麼版本的WIN.
举报

赵爱香

2018-11-22 10:58:35

李悛

2018-11-22 11:06:34
引用: hanlinceshi 发表于 2018-11-22 12:42
VCP一定要ST-LINK吗?自己的板子就不能实现吗?我用的是自己的板子。可以实现HID功能。

你要自己实现VCP功能(通过USB CDC),1.需要至少在STM32F103上实现USB CDC功能,你可以参考如下目录中典型的示例程序:
STM32Cube_FW_F1_V1.4.0ProjectsSTM3210C_EVALApplicationsUSB_DeviceCDC_Standalone
2.然后PC端需要安装VCP驱动,不过你如果安装过ST-LINK最新版本应该就已经有VCP的驱动了。
目前最新的ST-LINK驱动:

你也可以在部署时只安装VCP驱动,ST官方下载:
https://my.st.com/content/my_st_ ... d1484018259282.html
不过这个比较旧是2014年的,我下载好了:

3.PC端可以通过Tera Term串口终端程序:
https://osdn.net/projects/ttssh2/releases/66795
目前最新的是v4.93:


USB CDC给你个参考:
http://www.cnblogs.com/yuweifeng/p/5843688.html
举报

李雨坤

2018-11-22 11:22:18
帮顶一下。
大致的建议也是查程序,可以使用STM32_CUBE生成一个VCP工程。
举报

刘建国

2018-11-22 11:40:57
插入电脑后,看看VID/PID和程序是否一致,如果不一致,查单片机程序,如果一致,查电脑VCP驱动程序。。。
举报

康永清

2018-11-22 11:56:13
引用: 60user60 发表于 2018-11-22 14:36
http://www.stmcu.org/module/forum/thread-609924-1-1.html
可以參考上面的說明

多谢你的说明,我试了下,真的如此。和电脑有关。
举报

康永清

2018-11-22 12:14:17
引用: 7762642422d 发表于 2018-11-22 14:44
你要自己实现VCP功能(通过USB CDC),1.需要至少在STM32F103上实现USB CDC功能,你可以参考如下目录中典型的示例程序:
STM32Cube_FW_F1_V1.4.0ProjectsSTM3210C_EVALApplications%uSB_DeviceCDC_Standalone
2.然后PC端需要安装VCP驱动,不过你如果安装过ST-LINK最新版本应该就已经有VCP的驱动了。

非常感谢你的建议,我一定要认真学习下。
举报

康永清

2018-11-22 12:30:33
引用: 嘻嘻爱哈哈 发表于 2018-11-22 15:00
帮顶一下。
大致的建议也是查程序,可以使用STM32_CUBE生成一个VCP工程。

我一直用的标准库,那个CUBE生成的文件,包装的太多了。
举报

康永清

2018-11-22 12:39:15
引用: 帅帅的欧尼酱 发表于 2018-11-22 15:18
插入电脑后,看看VID/PID和程序是否一致,如果不一致,查单片机程序,如果一致,查电脑VCP驱动程序。。。

找到原因了,与电脑相关,如果电脑驱动有问题,就无法建立连接。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分