OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
楼主: 八度空间

分享一下最近完成测试的STM32模拟USB转串口经验

  [复制链接]

13

主题

185

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
272
金钱
272
注册时间
2014-4-9
在线时间
9 小时
发表于 2014-9-1 22:51:11 | 显示全部楼层
大海啊,全是水; 骏马啊,四条腿。
正点原子逻辑分析仪DL16劲爆上市
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2014-9-2 13:36:42 | 显示全部楼层
回复【51楼】ArchiChain:
---------------------------------
呵呵。。。。。
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

33

主题

253

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
金钱
412
注册时间
2012-8-16
在线时间
0 小时
发表于 2014-9-15 19:05:43 | 显示全部楼层
nice!!!
回复 支持 反对

使用道具 举报

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2014-9-9
在线时间
6 小时
发表于 2014-9-24 15:49:52 | 显示全部楼层
今天刚想做,原来大神已经弄出来了。。。
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2014-9-24 17:05:07 | 显示全部楼层
回复【54楼】xin:
---------------------------------
大家互相学习
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

9

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-3-11
在线时间
0 小时
发表于 2014-10-30 20:34:45 | 显示全部楼层
这样STM32 就可以当一个USB转串口芯片使用吗?
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2014-10-31 07:51:55 | 显示全部楼层
回复【56楼】数字鹰:
---------------------------------
是的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

20

主题

74

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-3-24
在线时间
6 小时
发表于 2014-11-29 18:26:55 | 显示全部楼层
回复【49楼】绿友:
---------------------------------
我现在也是这个情况,请问楼主怎么解决这个问题的啊
回复 支持 反对

使用道具 举报

20

主题

74

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-3-24
在线时间
6 小时
发表于 2014-11-29 18:27:46 | 显示全部楼层
回复【57楼】Badu_Space:
---------------------------------
我也遇到这样的问题,只有连上USB程序才走,拔掉就不走,这什么情况呀,难道这就是说的官方例程的bug啊
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2014-11-29 22:51:11 | 显示全部楼层
回复【59楼】chenjiawei7:
---------------------------------
一直在等待USB插上
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

20

主题

74

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2013-3-24
在线时间
6 小时
发表于 2014-11-30 09:17:52 | 显示全部楼层
回复【60楼】Badu_Space:
---------------------------------
那在哪儿屏蔽掉呢,这样也太坑了吧
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2014-11-30 12:29:53 | 显示全部楼层
那你检测有USB插上就调用USB初始化语句,没有就不调用,执行后面函数即可
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2014-12-10
在线时间
0 小时
发表于 2014-12-10 15:39:12 | 显示全部楼层
我移植了一个读SD卡的工程,改了设备识别码,连接电脑的时候能正确枚举,设备管理器里面显示设备虚拟出一个com10,工作正常,但是我用串口调试软件打开这个串口的时候显示串口打开失败,导致这个问题的原因会是什么啊
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2014-12-10 16:27:43 | 显示全部楼层
回复【63楼】bobo酱:
---------------------------------
我没出现过你说的串口助手打开模拟失败的,你用的什么串口助手?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2014-12-15
在线时间
0 小时
发表于 2014-12-15 19:43:59 | 显示全部楼层
楼主你好,假如板子上没有插usb,重启程序时,LCD应该显示“USB DisConnected”,但是现在只是显示"USB Connecting...“,所以我想问在没有插usb时,程序怎样才能运行到 else if(bDeviceState < ADDRESSED ) ;{ LCD_Display_String_BK(60, 240, "USB DisConnected ", 16, RED, WHITH); }这里。
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2014-12-16 07:56:23 | 显示全部楼层
回复【65楼】清风拂面:
---------------------------------
你这句else if(bDeviceState < ADDRESSED )哪里来的?我的测试代码没有这句
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2014-12-15
在线时间
0 小时
发表于 2014-12-16 08:42:54 | 显示全部楼层
回复【66楼】八度空间:
---------------------------------
if(bDeviceState < ADDRESSED )这句是我后加上的,原先没有这句时也是一样的效果,只会显示"USB Connecting...“这样
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2014-12-16 11:37:59 | 显示全部楼层
回复【67楼】清风拂面:
---------------------------------
USB在等待
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2014-12-15
在线时间
0 小时
发表于 2014-12-16 14:23:10 | 显示全部楼层
那怎样才能避免这种情况呢,我的意思是想当插上usb时,程序复位会进入if (bDeviceState == CONFIGURED)这里,当没有插上usb时,程序复位会进入else分支语句。我试着在检测有USB插上才调用USB初始化语句,但还是不行,依然只显示"USB Connecting...“
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2014-12-16 14:25:31 | 显示全部楼层
回复【69楼】清风拂面:
---------------------------------
没玩过这样的喔
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2015-1-4
在线时间
0 小时
发表于 2015-2-7 14:48:49 | 显示全部楼层
正好用的着~~
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-2-7 14:56:05 | 显示全部楼层
回复【69楼】清风拂面:
---------------------------------
可以将while前面那句延时函数去掉
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-1-29
在线时间
0 小时
发表于 2015-5-11 15:31:20 | 显示全部楼层
新手菜鸟想问一下 ,这个代码作用是什么?  实现什么功能 ? 插上USB线 ,可以用串口助手发送数据吗
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2015-5-12
在线时间
13 小时
发表于 2015-5-12 18:11:11 | 显示全部楼层
按照楼主的方法安装驱动后出现以下问题(见图片),我的是win7 64位

,请大侠指教
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-5-12 22:12:57 | 显示全部楼层
回复【73楼】zeropd:
---------------------------------
将STM32芯片当成USB转串口用
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-5-12 22:13:48 | 显示全部楼层
回复【74楼】kinghungolee:
---------------------------------
64位系统我没试过,这个驱动是官方的,我那时候测试是32位系统
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2015-4-24
在线时间
0 小时
发表于 2015-5-13 20:11:14 | 显示全部楼层
mark  谢谢分享
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-5-13 22:59:13 | 显示全部楼层
回复【77楼】qimeiya:
---------------------------------
谢谢!
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2015-5-12
在线时间
13 小时
发表于 2015-7-22 11:58:48 | 显示全部楼层
回复【76楼】八度空间:
---------------------------------
64位的安装我试了5台电脑,只有一台可以,32位基本可以用
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2015-5-12
在线时间
13 小时
发表于 2015-7-22 12:10:40 | 显示全部楼层

楼主,有个小白问题,我按照你的例程,只是添加了输出打印信息,目的是为了看到从串口助手发送的数据,问题就是我调用哪一个函数把数据发送到上位机串口助手显示呢,试了几次都不成功,不懂,勿喷。

[mw_shl_code=c,true] if(USB_COMPort_STA&0x01) //发送数据到USB { printf("Send Data To USB...\r\n"); //提示正在发送数据到USB } if(USB_COMPort_STA&0x02) //接收来自USB数据 { printf("Rev Data From USB...\r\n"); //提示正在接收来自USB的数据 printf("Data is %s\r\n",USB_Rx_Buffer); memset(USB_Rx_Buffer,0,64); //收完清零 } USB_STA = USB_COMPort_STA; //记录USB操作状态[/mw_shl_code]

回复 支持 反对

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-7-22 16:50:33 | 显示全部楼层
楼主又出好东西了啊。
原子哥是不是又要出黑科技了呀。^_^...
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-7-22 21:39:32 | 显示全部楼层
回复【79楼】kinghungolee:
---------------------------------
按道理64位系统也是可以的,理论上是,实际64位系统我没测试过
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-7-22 21:41:01 | 显示全部楼层
回复【80楼】kinghungolee:
---------------------------------
直接将输出的串口通过转接线回传给电脑不就完事啦?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-7-22 21:41:13 | 显示全部楼层
回复【81楼】fanghuiopenedv:
---------------------------------
谢谢!
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2015-5-12
在线时间
13 小时
发表于 2015-7-25 16:55:46 | 显示全部楼层
回复【82楼】八度空间:
---------------------------------
是我系统阉割版的问题,换了系统就没事了
回复 支持 反对

使用道具 举报

48

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
359
金钱
359
注册时间
2015-4-6
在线时间
3 小时
发表于 2015-11-12 17:30:32 | 显示全部楼层
求助
为什么我安装了驱动还有个叹号  
系统是WIM 7   64位
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-11-14 16:45:00 | 显示全部楼层
回复【86楼】987695640:
---------------------------------
那个驱动是32位的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-11-14 16:47:22 | 显示全部楼层
回复【86楼】987695640:
---------------------------------
那个驱动是32位的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

13

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2013-7-9
在线时间
6 小时
发表于 2015-11-15 14:16:07 | 显示全部楼层
回复【3楼】八度空间:
---------------------------------楼主,官方USB转串口例程在哪里啊?找许久没找到,还劳烦提点一下
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-11-21 10:51:35 | 显示全部楼层
回复【89楼】电子玩霸:
---------------------------------
进入官网搜索即可
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
232
金钱
232
注册时间
2016-8-9
在线时间
29 小时
发表于 2016-8-22 14:10:56 | 显示全部楼层
不错
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2015-6-29
在线时间
1 小时
发表于 2016-9-14 08:42:48 | 显示全部楼层
正在研究USB  正好
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2016-12-4
在线时间
52 小时
发表于 2016-12-29 21:11:10 | 显示全部楼层
如果是用115200收发大的数据包,就会出现丢包,38400以下测试还行
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-12-31 13:41:45 | 显示全部楼层
dtlz 发表于 2016-12-29 21:11
如果是用115200收发大的数据包,就会出现丢包,38400以下测试还行

都没用这个做串口只是资源不足的情况下凑合用
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2016-12-4
在线时间
52 小时
发表于 2016-12-31 14:06:52 | 显示全部楼层
八度空间 发表于 2016-12-31 13:41
都没用这个做串口只是资源不足的情况下凑合用

你这个程序还有一个问题,就是把奇偶搞反了,用这个还是不错的
回复 支持 反对

使用道具 举报

3

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2878
金钱
2878
注册时间
2016-6-17
在线时间
321 小时
发表于 2017-1-1 13:38:19 | 显示全部楼层
谢谢
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2017-1-1 15:30:08 | 显示全部楼层
dtlz 发表于 2016-12-31 14:06
你这个程序还有一个问题,就是把奇偶搞反了,用这个还是不错的

现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

8

主题

74

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2016-6-29
在线时间
34 小时
发表于 2017-4-13 22:49:08 | 显示全部楼层
楼主,可以通过你这个直接用isp软件更新stm32程序吗
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2017-4-14 12:23:13 | 显示全部楼层
vitasnokia 发表于 2017-4-13 22:49
楼主,可以通过你这个直接用isp软件更新stm32程序吗

我测试过可行,速度不是很快,你可以试下,呵呵
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

23

帖子

0

精华

高级会员

Rank: 4

积分
940
金钱
940
注册时间
2014-8-18
在线时间
212 小时
发表于 2017-4-24 21:29:52 | 显示全部楼层
mark!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 04:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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