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

快速体验 STM32CubeF1 的 USB CDC 实现 VCP 功能  

[复制链接]
slotg 发布时间:2017-7-1 17:20
本帖最后由 slotg 于 2017-7-1 17:22 编辑

在 YouTube 上看到了一个视频,使用 STM32CubeMX 在不到 10 分钟的时间就为一片 STM32F103C8T6 最小系统板实现了一个 USB 转串口的功能,让板子接收电脑端的字元控制板上 LED 的亮灭,我依视频的内容自己做了一遍:

打开 CubeMX 后芯片选择 STM32F103C8T6
P01.jpg

RCC 选择晶振的方式
P02.jpg

SYS 里头的 Debug 选择 Serial Wire 方式,这个选项让芯片具备了 SWD 功能。
P03.jpg

USB 点选 Device(FS),这个是开启 USB 功能。
P04.jpg

USB DEVICE 里头选择 CDC 类。
P05.jpg

最小系统板上 MCU 的 PC13 连接了一颗 LED,因此设定 PC13 为 GPIO_Output 模式。
P06.jpg

切换到时钟设定页面时会出现一个窗口,询问是否要让 CubeMX 自动配置时钟?我们选择 Yes。
P07.jpg

配置结果如下:
P08.jpg

管脚设定,设定 PC13 上电位准是 High。(输出 Low 时点亮 LED)
P09.jpg

所有设定完成后接下来产生程序码
P10.jpg

输入工程名称为 CDCtest1,IDE 工具选择 MDK-ARM V5。
P11.jpg

程序码生成后询问是否要打开工程 ?我们选择打开。
P12.jpg

打开后的工程
P13.jpg

直接编译工程并不会出现任何的错误
P14.jpg

打开 usbd_cdc_if.c 档案,找到里头的 CDC_Receive_FS() 函数
P15.jpg

加上这些代码,代码的功能为依所接收到的字元控制 LED 亮灭。
P16.jpg

编译程序并烧录到芯片,当板子上面的 USB 口插上电脑后出现了一个虚拟串口
P17.jpg

打开串口调试程序,选择好端口后发送字元 1 可以看到板上的 LED 亮起,串口调试程序收到 LED ON 信息,发送字元 0 可以看到板上 LED 熄灭,串口调试程序收到 LED OFF 信息。
DSC02404.JPG
P18.JPG


工程文件
CDCtest1.rar (8.53 MB, 下载次数: 2238)

评分

参与人数 1 ST金币 +5 收起 理由
zero99 + 5

查看全部评分

收藏 11 评论44 发布时间:2017-7-1 17:20

举报

44个回答
John-2049691 回答时间:2019-12-31 14:18:19
John-2049691 发表于 2019-12-30 12:02
我看了下CubeMx,但只发现能改动Max Num,重新生成代码后,发现然而没有增加或改动到其他代码,只是改了 ...

我找到了一个多串口VCP的例程,是USB OTG的,要用105来用,103是USB的不适合。
但是我用CubeMx生成105VC的USB VCP工程,无法识别出来COM,你能不能试一下?试枚举一个节点的COM就可以了,我不知道是不是哪里配置不对。
John-2049691 回答时间:2019-12-30 12:02:46
slotg 发表于 2019-12-30 11:14
还没试过,可以讨论讨论

我看了下CubeMx,但只发现能改动Max Num,重新生成代码后,发现然而没有增加或改动到其他代码,只是改了个USB接口数量最大值,设备管理器也没有新增串口。
slotg 回答时间:2017-7-3 10:37:29
xiaoxiao0932 发表于 2017-7-3 09:09
请问楼主,稳定性怎么样啊,在多次通信后是否出现异常,是否需要插拔USB线? ...

稳定性还没试过,我找时间写个测试程序试看看了,你有碰过不稳定的情况吗?
Paderboy 回答时间:2017-7-1 17:33:34
多谢分享。。。。
slotg 回答时间:2017-7-1 17:40:40
Paderboy 发表于 2017-7-1 17:33
多谢分享。。。。

感谢关注
feiante 回答时间:2017-7-1 17:49:47
是这样的,用stm32cubeMX可以很快建立usb虚拟串口
hpdell 回答时间:2017-7-1 20:09:15
牛逼啊

以后使用stm单片机可以省去不少时间与精力啊
epochal 回答时间:2017-7-2 07:48:51
方便快捷,好!
Xinfeng 回答时间:2017-7-3 08:52:48
感谢分享
xiaoxiao0932 回答时间:2017-7-3 09:09:22
请问楼主,稳定性怎么样啊,在多次通信后是否出现异常,是否需要插拔USB线?
moyanming2013 回答时间:2017-7-3 11:30:42
支持            
adlu 回答时间:2017-7-4 10:47:39
Good!谢谢分享
埃斯提爱慕 回答时间:2017-7-4 18:58:32
提示: 作者被禁止或删除 内容自动屏蔽
anobodykey 回答时间:2017-7-13 16:52:30
感谢分享
洛千叶 回答时间:2017-7-14 09:15:52
谢谢分享!!!!!!!!!!!!!!!!
weiwei4 回答时间:2017-7-14 09:17:48
谢谢分享
123下一页

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版