请选择 进入手机版 | 继续访问电脑版
搜索
查看: 23767|回复: 44

[原创] 快速体验 STM32CubeF1 的 USB CDC 实现 VCP 功能

  [复制链接]

该用户从未签到

26

主题

2070

帖子

6

蝴蝶豆

论坛元老

最后登录
2021-3-31
发表于 2017-7-1 17:20:26 | 显示全部楼层 |阅读模式
本帖最后由 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, 下载次数: 2259)

评分

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

查看全部评分

回复

使用道具 举报

该用户从未签到

47

主题

3456

帖子

30

蝴蝶豆

版主

最后登录
2022-12-25
发表于 2017-7-1 17:33:34 | 显示全部楼层
多谢分享。。。。
回复

使用道具 举报

该用户从未签到

26

主题

2070

帖子

6

蝴蝶豆

论坛元老

最后登录
2021-3-31
 楼主| 发表于 2017-7-1 17:40:40 | 显示全部楼层
Paderboy 发表于 2017-7-1 17:33
多谢分享。。。。

感谢关注
回复 支持 反对

使用道具 举报

该用户从未签到

19

主题

954

帖子

27

蝴蝶豆

论坛元老

最后登录
2019-7-29
发表于 2017-7-1 17:49:47 | 显示全部楼层
是这样的,用stm32cubeMX可以很快建立usb虚拟串口
回复 支持 反对

使用道具 举报

该用户从未签到

227

主题

828

帖子

32

蝴蝶豆

金牌会员

最后登录
2021-1-15
发表于 2017-7-1 20:09:15 | 显示全部楼层
牛逼啊

以后使用stm单片机可以省去不少时间与精力啊
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

2290

帖子

3

蝴蝶豆

论坛元老

最后登录
2021-5-1
发表于 2017-7-2 07:48:51 | 显示全部楼层
方便快捷,好!
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

253

帖子

0

蝴蝶豆

金牌会员

最后登录
2020-10-28
发表于 2017-7-3 08:52:48 | 显示全部楼层
感谢分享
回复

使用道具 举报

该用户从未签到

9

主题

109

帖子

2

蝴蝶豆

金牌会员

最后登录
2020-5-14
发表于 2017-7-3 09:09:22 | 显示全部楼层
请问楼主,稳定性怎么样啊,在多次通信后是否出现异常,是否需要插拔USB线?
回复 支持 反对

使用道具 举报

该用户从未签到

26

主题

2070

帖子

6

蝴蝶豆

论坛元老

最后登录
2021-3-31
 楼主| 发表于 2017-7-3 10:37:29 | 显示全部楼层
xiaoxiao0932 发表于 2017-7-3 09:09
请问楼主,稳定性怎么样啊,在多次通信后是否出现异常,是否需要插拔USB线? ...

稳定性还没试过,我找时间写个测试程序试看看了,你有碰过不稳定的情况吗?
回复 支持 反对

使用道具 举报

该用户从未签到

47

主题

1683

帖子

7

蝴蝶豆

论坛元老

最后登录
2022-4-9
发表于 2017-7-3 11:30:42 | 显示全部楼层
支持            
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-19 02:46 , Processed in 0.211293 second(s), 47 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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