搜索
bottom↓
回复: 243

【原创开源】 基于 STM32F103C6T6 的 USB 转 RS232 模块..

  [复制链接]

出0入0汤圆

发表于 2009-11-23 17:13:28 | 显示全部楼层 |阅读模式
由基于 STM32F103C8T6 的开源智能充电器引发一个小开源项目:

基于 STM32F103C6T6 的 USB 转 RS232 模块.

我想大家已经很熟悉 OurAVR 以前介绍的 FT232BM , CH431 等等专用的 USB 转 RS232 芯片了. 这些可以通过网站以前的资料中获得.

在这个贴子我将向大家介绍一下自己做的 USB 转 RS232 模块.

大家已经很熟悉 STM32F103 系列的芯片片内都带一个 USB SLAVE 的硬件模块, 直接可以用他来实现 USB 功能.

我们就是利用了这个功能来实现 USB 转 RS232 的功能.

下面所有资源都是我和虫子两个人利用业余时间完成的所有资源, 包括软硬件, 现在全部开源.

-------------------------------------------------------

硬件

Protel99格式 PCB: 点击此处下载 ourdev_506342.rar(文件大小:16K) (原文件名:USBTO232.rar)


(原文件名:10.jpg)


-------------------------------------------------------

软件:

其实把软件说白了就是串口中断得到的数据通过 USB 中断发出去, 满足 PC 的 CDC 模式. USB 接收中断获得的 CDC 模式的数据通过 STM32 的串口再发送出去, STM32 只起到一个搬运工的作用.

基于 MDK3.50 和 IAR5.20 以上版本的工程下载:
点击此处下载 ourdev_506356.rar(文件大小:2.49M) (原文件名:Virtual_COM_Port.rar)


(原文件名:11.jpg)

Windows 下的驱动文件下载:
点击此处下载 ourdev_506590.rar(文件大小:13K) (原文件名:麦思网 USB-232 Driver.rar)

Hex 下载:
点击此处下载 ourdev_506347.rar(文件大小:8K) (原文件名:烧写 Hex.rar)

ISP 下载软件:
点击此处下载 ourdev_506357.rar(文件大小:577K) (原文件名:mcuisp.rar)

备注: 由 ISP 下载程序的时候需要短接 模块上的 CON1 跳线, 设置 Boot0, 让上电程序从片内 Booload 启动. 下载完程序将 CON1 断开.
-------------------------------------------------------

性能测试过程:

准备过程: 由于我电脑没有串口所以也用了一个 USB 转 RS232 模块来测试我们自己制作的模块的功能, 如下图所示:

Com7 为成品 USB 转 RS232 模块. 他使用的是性能比较好的 FT232BM 芯片.
Com4 为我们自己制作的 USB 转 RS232 模块. 使用的是 STM32F103C6T6 芯片, 烧入的上面贴出来的代码.


(原文件名:6.jpg)

两个模块通过一个两边都是母头的串口交叉线相连:


(原文件名:1.jpg)


第一个试验:
由我们的 USB 转 RS232 模块发送数据到 串口端, 即 USB 端 发送到 串口端.


(原文件名:9.JPG)

过程: 发送一个文件 第05章+STM32系列微控制器开发工具与应用.pdf. 115200 波特率
结果为: 发送 524288 个字节, 接收也为 524288 个字节.
结论: 没有丢包



第一个试验:
由我们的 USB 转 RS232 模块接收数据到 USB 端, 即 串口端 发送到 USB 端.


(原文件名:8.jpg)

过程: 发送一个文件 第05章+STM32系列微控制器开发工具与应用.pdf. 115200 波特率
结果为: 发送 524288 个字节, 接收也为 524288 个字节.
结论: 没有丢包

第三个试验:
两边同时互相 10 mS 定时 发送数据: 发送 ASCII 字符串 "1234567890"


(原文件名:7.jpg)

过程: 两边同时互相 10 mS 定时 发送数据: 发送 ASCII 字符串 "1234567890". 115200 波特率
结果为: 串口4 :发送 3033 个字节, 接收为 4581. 串口7 :发送 4581 个字节, 接收为 3033.
结论: 没有丢包


通过上面三个试验我可以说我们的 USB 转 RS232 模块基本达标, 应该为一个合格的小产品.


下面再贴出一些我们自己制作的 USB 转 RS232 的照片:


(原文件名:2.jpg)


(原文件名:3.jpg)


(原文件名:4.jpg)


(原文件名:5.jpg)


(原文件名:4.jpg)


(原文件名:5.jpg)


(原文件名:6.jpg)


(原文件名:7.jpg)


(原文件名:9.jpg)


(原文件名:10.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。

如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》

出0入0汤圆

发表于 2016-3-28 10:19:48 | 显示全部楼层
mark 开源 USB2RS232

出0入0汤圆

发表于 2016-3-28 10:03:43 | 显示全部楼层
厉害啊,真是高手啊

出0入0汤圆

发表于 2016-3-28 08:56:28 | 显示全部楼层
这个一定要顶,最近正在学习

出0入0汤圆

发表于 2016-3-27 21:52:21 | 显示全部楼层
好东西,顶一下!

出0入0汤圆

发表于 2016-3-9 23:07:29 | 显示全部楼层
下载学习了。谢谢楼主分享。

出0入0汤圆

发表于 2016-3-9 22:31:58 | 显示全部楼层
先收藏了,感谢

出0入0汤圆

发表于 2016-3-9 22:00:44 | 显示全部楼层
顶一个!

出0入0汤圆

发表于 2016-3-9 18:52:40 | 显示全部楼层
USB To UART,点赞,谢谢分享。mark.

出0入0汤圆

发表于 2016-3-9 12:34:08 | 显示全部楼层
先收藏了,感谢

出0入0汤圆

发表于 2015-12-1 14:13:20 | 显示全部楼层
很好的资料,感谢楼主分享

出0入0汤圆

发表于 2015-12-1 13:58:02 | 显示全部楼层
很好的资料,先收藏了,谢谢楼主分享

出0入0汤圆

发表于 2015-8-14 20:46:47 | 显示全部楼层
有自动波特率功能吗? 平时用460800/921600波特率比较多, 以前STM32F103因为代码优化不好在921600丢数据厉害

出0入0汤圆

发表于 2015-8-14 16:16:25 | 显示全部楼层
disheng 发表于 2010-1-26 16:47
HEX发送:  11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF
HEX接收到:11 22 33 44 55 66 77 08 19 2A 3B  ...

应该是数据位数选成7位了吧

出0入0汤圆

发表于 2015-7-9 16:51:57 | 显示全部楼层
顶 好用啊!

出0入0汤圆

发表于 2014-1-3 14:51:11 | 显示全部楼层
虚拟串口不错,应该各个系列的都可以用。

出0入0汤圆

发表于 2014-1-3 14:50:59 | 显示全部楼层
stm32的虚拟串口?

出0入0汤圆

发表于 2014-1-3 14:49:09 | 显示全部楼层
ufowh 发表于 2010-1-7 15:29
波特率可以上到115200吗
ft232 上到38400就会有问题

一直都用115200
没有问题,是不是你买的ft232不好

出0入0汤圆

发表于 2013-10-23 16:32:29 | 显示全部楼层
小东西可以看看哈。。。

出0入0汤圆

发表于 2013-8-31 13:32:49 | 显示全部楼层
缓冲区改的不错!

出0入0汤圆

发表于 2013-8-15 09:43:54 | 显示全部楼层
不错,,,,

出0入0汤圆

发表于 2013-7-12 15:13:12 | 显示全部楼层
很好,很强大

出0入0汤圆

发表于 2013-7-12 10:59:39 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2013-7-5 11:23:44 | 显示全部楼层
回帖是一种美德

出0入0汤圆

发表于 2013-6-10 23:02:34 来自手机 | 显示全部楼层
好想法,值得研究下。

出0入0汤圆

发表于 2013-6-6 11:21:38 | 显示全部楼层
不错,好东西

出0入0汤圆

发表于 2013-6-5 21:10:34 | 显示全部楼层
来看看!关于usb的学习啊!

出0入0汤圆

发表于 2013-5-31 11:03:11 | 显示全部楼层
谢谢,顶一下

出0入0汤圆

发表于 2013-5-31 11:02:48 | 显示全部楼层
谢谢,顶一下

出0入0汤圆

发表于 2013-4-24 21:55:16 | 显示全部楼层
研究一下。

出0入0汤圆

发表于 2013-4-23 22:18:49 | 显示全部楼层
希望能上传原理图....

出0入0汤圆

发表于 2013-4-23 21:52:59 | 显示全部楼层
顶一个!网上太多牛人了

出0入0汤圆

发表于 2013-4-23 21:25:14 | 显示全部楼层
太好了,谢谢分享!能给我发一份驱动程序的源代码吗!840036342@qq.com,谢谢!

出0入0汤圆

发表于 2013-4-23 20:39:17 | 显示全部楼层
这个那里有买的哦

出0入0汤圆

发表于 2013-4-17 20:39:36 | 显示全部楼层
老帖子了

出0入0汤圆

发表于 2013-4-17 19:40:51 | 显示全部楼层
好资料,收下啦

出0入0汤圆

发表于 2013-2-1 12:37:17 | 显示全部楼层
收下,谢啦

出0入0汤圆

发表于 2013-1-27 14:41:39 | 显示全部楼层
好资料,下载学习学习

出0入0汤圆

发表于 2012-11-17 15:15:27 | 显示全部楼层
Mark一下,以后有可能用到

出0入0汤圆

发表于 2012-9-28 22:50:35 | 显示全部楼层
我在整合到我的代码中的时候  不使用你的   InitQueue();函数  会不会 对我更新驱动出现问题
我现在 就这个函数没整合进去。刷入我自己的FW后 现在插上USB 会出现发现未知设备 ,更新驱动后,更新成功,说未知设备

出0入0汤圆

发表于 2012-9-27 20:31:40 | 显示全部楼层
你的 USB to RS232 如何安装 驱动  有.exe 的驱动吗?
USB 2.0 TO RS232 Cable
USB 2.0 TO RS232 Converter   
我买的线  需要安装这两个驱动   我现在想用我板子上的STM32 直接识别

出0入0汤圆

发表于 2012-9-27 19:19:16 | 显示全部楼层
你的驱动 如何安装 ?
插上USB  只会识别USB 怎么装RS232驱动

出0入0汤圆

发表于 2012-8-20 10:32:34 | 显示全部楼层
太棒了,正需要的

出0入0汤圆

发表于 2012-6-13 23:01:56 | 显示全部楼层
无法下载例程, 谁能帮忙发一下:zhbforever@163.com

出0入0汤圆

发表于 2012-5-31 09:02:15 | 显示全部楼层
厉害,谢谢

出0入0汤圆

发表于 2012-5-30 21:00:15 | 显示全部楼层
附件下载不了 谁能帮我发一下ylss1234@163.com

出0入0汤圆

发表于 2012-5-28 13:36:02 | 显示全部楼层
mark mark  

出0入0汤圆

发表于 2012-5-19 03:08:21 | 显示全部楼层
看到安哥的电脑,我就想起以前用过的联想V57。键盘手感特好,稳定性也很好。

出0入0汤圆

发表于 2012-5-12 21:30:04 | 显示全部楼层
上位机 可以用 labview 做哦  还有就是 要是 吧 stm32的 jilnkv7也集成进去就好了

出0入0汤圆

发表于 2012-5-12 20:55:25 | 显示全部楼层

出0入0汤圆

发表于 2012-5-5 22:16:46 | 显示全部楼层
支持   可惜现在论坛附件不能下载了  

出0入0汤圆

发表于 2012-4-26 14:01:53 | 显示全部楼层
disheng 发表于 2010-1-26 16:47
HEX发送:  11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF
HEX接收到:11 22 33 44 55 66 77 08 19 2A 3B  ...

此帖子里面的改进方法可改进8位数据位时的此问题:
http://www.ourdev.cn/forum.php?mod=viewthread&tid=3632764

出0入0汤圆

发表于 2012-4-22 16:03:01 | 显示全部楼层
mark....................

出0入0汤圆

发表于 2012-4-22 15:45:33 | 显示全部楼层
MArk 我也打算用开发板做一下,试试看

出0入0汤圆

发表于 2012-3-28 21:15:05 | 显示全部楼层
下载试了一下,我的板子USB Disconnect PIN不一样,开始时不能发现硬件,改过之后双发现楼主的程序里Disconnect GPIO的高低电平设置反了。改过之后还是不行,必需将这个GPIO 口设为推挽输出,这下PC 端终于提示发现新硬件了。可是用的是WIN7,楼主的USB驱动无法驱动,杯具了。

出0入0汤圆

发表于 2012-3-27 06:32:41 来自手机 | 显示全部楼层
预一下,留着参考

出0入0汤圆

发表于 2012-3-27 00:07:36 | 显示全部楼层
这个好,记号一下!

出0入0汤圆

发表于 2012-3-26 21:56:23 | 显示全部楼层
挺好啊下载研究下

出0入0汤圆

发表于 2012-3-26 16:32:47 | 显示全部楼层
太牛X了,学习学习,楼主厉害

出0入0汤圆

发表于 2012-2-10 22:36:08 | 显示全部楼层
收藏了,谢谢

出0入0汤圆

发表于 2012-2-9 10:55:38 | 显示全部楼层
这个要mark一下。

出0入0汤圆

发表于 2012-1-11 18:04:24 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-6 11:46:15 | 显示全部楼层
记号。

出0入0汤圆

发表于 2012-1-6 11:25:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-19 10:01:38 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-12-12 13:22:35 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-12 12:09:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-12 10:48:31 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-12 08:41:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-11 21:56:50 | 显示全部楼层
正需要呢!!

出0入0汤圆

发表于 2011-10-24 23:29:23 | 显示全部楼层
不错

出0入0汤圆

发表于 2011-10-24 23:16:07 | 显示全部楼层
最近准备玩玩STM32了,下来试试

出0入0汤圆

发表于 2011-10-24 22:24:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-10-12 17:50:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-16 17:47:11 | 显示全部楼层
楼主,我也正在使用STM32的虚拟串口,但是我是直接利用虚拟串口让STM32和PC通信,现在遇到一个问题,就是向PC发送的第一次的数据之前会有192个随即数据,之后才是我发送的数据,而之后,只要USB不重新上电,通信完全没有问题。不知道楼主是否遇到这个问题,如何解决的?

出0入0汤圆

发表于 2011-9-16 17:30:06 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-14 17:05:21 | 显示全部楼层
mark 谢谢

出0入0汤圆

发表于 2011-9-14 16:53:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-14 16:33:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-14 07:29:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-25 09:40:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-14 15:13:40 | 显示全部楼层
mark了

出0入0汤圆

发表于 2011-8-13 14:20:17 | 显示全部楼层
收藏了

出0入0汤圆

发表于 2011-8-13 13:58:19 | 显示全部楼层
先收藏

出0入0汤圆

发表于 2011-8-13 13:34:59 | 显示全部楼层
还做成了成品!这个硬件成本太高,不划算。

出0入0汤圆

发表于 2011-8-13 09:44:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-12 17:22:55 | 显示全部楼层
Mark一下,可以在系统中集成一下!

出0入85汤圆

发表于 2011-8-12 17:12:49 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-3 09:31:23 | 显示全部楼层
感谢分享。

出0入0汤圆

发表于 2011-6-24 16:43:28 | 显示全部楼层
感谢分享,高手!

出0入0汤圆

发表于 2011-6-14 16:26:14 | 显示全部楼层
学习了,强烈感谢安哥。

出0入0汤圆

发表于 2011-5-31 12:02:43 | 显示全部楼层
请问,驱动支持win98系统不?

出0入4汤圆

发表于 2011-5-30 15:12:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-30 13:20:35 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-30 00:48:48 | 显示全部楼层
mark 以后学stm就来看了

出0入0汤圆

发表于 2011-5-25 10:20:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-22 21:27:23 | 显示全部楼层
mark

出0入4汤圆

发表于 2011-5-22 20:55:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-22 20:12:06 | 显示全部楼层
mark stm32 usbto232

出0入0汤圆

发表于 2011-5-22 17:32:30 | 显示全部楼层
马克一下,以后会用到

出0入0汤圆

发表于 2011-5-22 13:27:45 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-28 17:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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