liucw99 发表于 2017-1-9 20:40:38

关于STM32F103的USB VCP问题

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

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

liucw99 发表于 2017-1-12 15:57:04

zcl201207 发表于 2017-1-11 22:19
插入电脑后,看看VID/PID和程序是否一致,如果不一致,查单片机程序,如果一致,查电脑VCP驱动程序。。。 ...

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

moyanming2013 发表于 2017-1-10 11:29:07

liucw99 发表于 2017-1-10 10:25
VCP一定要ST-LINK吗?自己的板子就不能实现吗?我用的是自己的板子。可以实现HID功能。 ...

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

其中的VCP驱动是2015年的,如下图示:

你也可以在部署时只安装VCP驱动,ST官方下载:
http://my.st.com/content/my_st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-stm32102.license%3d1484018259282.html
不过这个比较旧是2014年的,我下载好了:

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


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

liucw99 发表于 2017-1-10 10:25:04

moyanming2013 发表于 2017-1-9 22:57
VCP是ST-LINK/V2-1上面的功能,你用的是ST原厂的板子吗?

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

creep 发表于 2017-1-9 21:23:05

stm32f103可以用于vcp,既然可以HID那就不是MCU本身不支持了,应该是你的程序有问题。

xmshao 发表于 2017-1-9 21:36:47

官方有例程,你可以参考。

moyanming2013 发表于 2017-1-9 22:57:46

VCP是ST-LINK/V2-1上面的功能,你用的是ST原厂的板子吗?

没事逛荡 发表于 2017-1-10 09:26:03

可以的,以前调过。
用ST官网的库就可以实现。

liucw99 发表于 2017-1-10 10:23:52

creep 发表于 2017-1-9 21:23
stm32f103可以用于vcp,既然可以HID那就不是MCU本身不支持了,应该是你的程序有问题。 ...

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

liucw99 发表于 2017-1-10 10:25:55

xmshao 发表于 2017-1-9 21:36
官方有例程,你可以参考。

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

liucw99 发表于 2017-1-10 10:26:49

没事逛荡 发表于 2017-1-10 09:26
可以的,以前调过。
用ST官网的库就可以实现。

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

KCL 发表于 2017-1-10 10:29:53

我也遇過,你先看下自已的系統吧. 是否只是家用版或者是雨林木风版,這些都會有問題
页: [1] 2 3
查看完整版本: 关于STM32F103的USB VCP问题