OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10031|回复: 15

虚拟串口

[复制链接]

20

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2012-2-11
在线时间
25 小时
发表于 2013-5-23 11:23:01 | 显示全部楼层 |阅读模式
 

int main(void)
{

#ifdef DEBUG
  debug();
#endif

  Set_System();
  Set_USBClock();
  USB_Interrupts_Config();
  USB_Init();

  while (1)
  {
    if ((count_out != 0) && (bDeviceState == CONFIGURED))
    {
      USB_To_USART_Send_Data(&buffer_out[0], count_out);
      count_out = 0;
    }
  }
}这是官方的例子,while里面不是说的是发错数据到PC还是接收?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2012-2-11
在线时间
25 小时
 楼主| 发表于 2013-5-23 11:26:20 | 显示全部楼层
也就是我需要怎么测试,可能我还没理解。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-23 14:02:56 | 显示全部楼层
这是在不停的发送数据到电脑呢.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2012-2-11
在线时间
25 小时
 楼主| 发表于 2013-5-23 15:10:55 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
但是我收不到数据啊。不知道怎么回事啊,没有头绪啊。
原子哥能不能抽空调试下官方那个虚拟串口的例程,贴到论坛里面去。
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-5-23 15:52:34 | 显示全部楼层
没明白楼主在说啥、

这个程序是指 C发送串口数据到单片机,单片机接收到数据后返回给PC机。

单片机可不用设置波特率,单片机会自动调节到当前PC机的波特率,这是在官方的库里面已经实现了的。(具体为什么,可以看圈圈教你学USB里面有关于虚拟串口的例程)

bDeviceState == CONFIGURED 是代表你的usb设备准备好了,也就是usb枚举什么什么的成功之后,才可以进行下一步操作。(如果usb设备还没准备好,就进行数据的发送,就会卡着)

count_out
是单片机接收到的数据长度。不等于0的时候,就是单片机接收到串口数据的时候,USB_To_USART_Send_Data(&buffer_out[0], count_out);就是把接收数组的数据,全部发回PC机去。(具体的你找下endp.c里面 关于端点的处理)
发送完成后,人为count_out = 0;

等待下一次接收。
回复 支持 反对

使用道具 举报

20

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2012-2-11
在线时间
25 小时
 楼主| 发表于 2013-5-23 19:50:51 | 显示全部楼层
回复【5楼】lsj9383:
---------------------------------
但是我一直发送就是没有接受到啊
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-5-23 20:19:26 | 显示全部楼层
你用的是什么单片机?

你用bushound监听一下你的usb的数据流动情况
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-5-23 20:21:28 | 显示全部楼层
如果你用的原子哥的单片机

你有安装虚拟串口的cdc驱动没?
是一个inf文件。

另外确定一下你的usb确实是插在usb口上,而不是pl2303的口上
回复 支持 反对

使用道具 举报

20

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2012-2-11
在线时间
25 小时
 楼主| 发表于 2013-5-24 09:24:26 | 显示全部楼层
回复【8楼】lsj9383:
---------------------------------
我安装了驱动的,然后也是USB口,而且都找到虚拟串口了在电脑上面。但是就是不能收到数据。
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-5-24 18:41:23 | 显示全部楼层
回复【9楼】abandon_51:
---------------------------------
不得哦,你用bushound监听下 你的usb数据 是不是正常的接收和发送。
回复 支持 反对

使用道具 举报

10

主题

70

帖子

0

精华

初级会员

Rank: 2

积分
130
金钱
130
注册时间
2012-12-27
在线时间
0 小时
发表于 2013-8-29 22:20:54 | 显示全部楼层
回复【10楼】lsj9383:
---------------------------------
请教一下,用STM32 F1 的USB最快能达到多大的速度呢,能给个例程吗,先谢谢啦
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-8-30 08:08:21 | 显示全部楼层
回复【11楼】BULELJ:
---------------------------------
是指的USB虚拟串口,串口最大的波特率吗?
回复 支持 反对

使用道具 举报

10

主题

70

帖子

0

精华

初级会员

Rank: 2

积分
130
金钱
130
注册时间
2012-12-27
在线时间
0 小时
发表于 2013-8-30 09:16:03 | 显示全部楼层
回复【12楼】lsj9383:
---------------------------------
我做这个东西要求传送的数据量有8K左右,而且要求速度很快,至少几百K/s左右,本来是想用USB传数据的,但是弄了一段时间USB没有弄出来,大神能不能指导一下;最近这两天才看了虚拟串口,虚拟串口比特率能达到多少,我这串口调试助手上最大才是256000,而且我想知道怎么测虚拟串口的传输速度,谢谢了。
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-8-30 13:40:33 | 显示全部楼层
回复【13楼】BULELJ:
---------------------------------
虚拟串口的波特率好像比较大,具体多少我忘了~~~很久没看usb了~~、、
回复 支持 反对

使用道具 举报

10

主题

70

帖子

0

精华

初级会员

Rank: 2

积分
130
金钱
130
注册时间
2012-12-27
在线时间
0 小时
发表于 2013-8-30 15:21:24 | 显示全部楼层
回复【14楼】lsj9383:
---------------------------------
有USB的例子可以参考吗,或者一些教程,HID的方式好像不够快,1030270158@qq.com,先谢啦
回复 支持 反对

使用道具 举报

10

主题

70

帖子

0

精华

初级会员

Rank: 2

积分
130
金钱
130
注册时间
2012-12-27
在线时间
0 小时
发表于 2013-9-4 20:24:59 | 显示全部楼层
回复【14楼】lsj9383:
---------------------------------
我看网上有人说虚拟串口的速度可以达到几百K字节每秒,可是在hw_config.c这个文件里void USART_Config_Default(void)这个函数里,把波特率设置的很低,那这样速度怎么能很快呢,求解大神啊
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-13 13:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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