搜索
查看: 2240|回复: 4

[原创] 【源码】STM32F103 USB转UART,双VCP(CDC),亲测可用

[复制链接]

该用户从未签到

20

主题

621

帖子

152

蝴蝶豆

论坛元老

最后登录
2023-11-13
发表于 2020-7-28 13:09:50 | 显示全部楼层 |阅读模式
我试过两种F103的UART程序,都是简单的双口UART收发的。
STM32基于CubeMX的高速串口收发程序(中断模式)
STM32基于CubeMX的高速串口收发程序(DMA模式)

今天给大家介绍一个USB的双VCP(CDC)程序。 原程序是在github上面发现的:   
http://github.com/RadioOperator/stm32f103_dual_vcp
我做了一个小改进,就是加入了传送数据时LED闪灯。

这个程序的UART部分比较复杂,空闲中断DMA + 双区缓存DMA。 有参考价值。

搞过USB软件的都知道,USB软件并不简单,经常掉入坑里面而爬不出来。要实现1个VCP,或者再加上HID等,也是常见。
可是双VCP的,就难度大增,不信你们随便找个板子试一试自己独立完成, 不参考本例程。

这个例程,发现有个限制就是,USB端一次连续发送的长度不能超过64个字符,超过的部分会被丢掉。 UART端正常。 不应该有这种问题的。

有什么用,找一个BluePill小板,下载程序以后一条USB线的双UART的VCP就有了,马上可以使用。
还可以用两条UART的RX线,同时监测其他UART的TxRx收发线工作情况。

2021-01-28 : 更新USB底层。 解决了原程序USB初始化不正常问题(经常要插拔两次才能枚举),原因不明。
2021-01-30 : 再次更新,改进LED闪灯部分。








stm32f103_dual_vcp-master20210130.zip

638.6 KB, 下载次数: 135, 下载积分: ST金币 -1

回复

使用道具 举报

该用户从未签到

1

主题

36

帖子

0

蝴蝶豆

初级会员

最后登录
2020-10-8
发表于 2020-8-8 12:59:22 | 显示全部楼层
多谢楼主分享多谢多谢。
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

364

帖子

0

蝴蝶豆

金牌会员

最后登录
2023-2-14
发表于 2020-8-9 09:06:01 | 显示全部楼层
顶一下
回复

使用道具 举报

该用户从未签到

20

主题

621

帖子

152

蝴蝶豆

论坛元老

最后登录
2023-11-13
 楼主| 发表于 2021-1-28 19:07:49 | 显示全部楼层
一楼附件今天更新。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

46

帖子

0

蝴蝶豆

中级会员

最后登录
2021-1-29
发表于 2021-1-29 11:14:24 | 显示全部楼层
好东西支持
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-5-8 01:16 , Processed in 0.174121 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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