打印

STM32通过USB向上位机发送数据 上位机无法接收到

[复制链接]
8216|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fjr115|  楼主 | 2010-7-18 23:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 fjr115 于 2010-7-18 23:07 编辑

我的STM32 是利用ST官方的Mass_Storage修改的
端点1是IN  端点2是OUT  这两个端点都是批量传输端点

安装驱动后  我用Bus Hound 5向其发送数据 STM32能顺利接收
void EP2_OUT_Callback(void)
{
  PMAToUserBufferCopy(Bulk_Data_Buff, ENDP2_RXADDR, 64);
  SetEPRxValid(ENDP2);
  UserToPMABufferCopy(sendBufferr, GetEPTxAddr(ENDP1), 64);
  SetEPTxCount(ENDP1, 64);
  SetEPTxValid(ENDP1);
}
但我试图通过
  UserToPMABufferCopy(sendBufferr, GetEPTxAddr(ENDP1), 64);
  SetEPTxCount(ENDP1, 64);
  SetEPTxValid(ENDP1);
来向上位机发送数据 但Bus Hound 5中看不到有任何来自STM32的数据
所以想问一下这是什么原因 谢谢
沙发
香水城| | 2010-7-19 09:00 | 只看该作者
因为上位机没有取数据。

使用特权

评论回复
板凳
vigia| | 2010-7-19 10:18 | 只看该作者
USB通信都是由主机发起的

如果主机没有请求数据,STM32是不会发送的

使用特权

评论回复
地板
fjr115|  楼主 | 2010-7-19 11:05 | 只看该作者
怎样使上位机取数据?

使用特权

评论回复
5
香水城| | 2010-7-19 14:00 | 只看该作者
怎样使上位机取数据?
fjr115 发表于 2010-7-19 11:05


这是上位机驱动的事情,我也不知道怎么做。

使用特权

评论回复
6
fjr115|  楼主 | 2010-7-19 14:26 | 只看该作者
哦 这样

使用特权

评论回复
7
txcy| | 2010-7-19 15:39 | 只看该作者
上位机还需要取数据吗,应该是有数据就接收吧,串口不就是这样的吗

使用特权

评论回复
8
vigia| | 2010-7-19 16:01 | 只看该作者
上位机还需要取数据吗,应该是有数据就接收吧,串口不就是这样的吗
txcy 发表于 2010-7-19 15:39


汗,,,,你凭什么去应该呢?

如果串口和USB一样,那还要USB干吗呢,直接串口好来。

使用特权

评论回复
9
bestfang| | 2010-7-19 20:31 | 只看该作者
usb的协议 必须主发请求给从的  不然想想多挂几个从usb 就乱套了

使用特权

评论回复
10
fjr115|  楼主 | 2010-7-19 21:14 | 只看该作者
搞定了  原因就在 "这是上位机驱动的事情,我也不知道怎么做。"
编了个程序取数据后就OK了  谢谢香主 谢谢各位

使用特权

评论回复
11
微兮兮| | 2013-5-9 21:13 | 只看该作者
fjr115 发表于 2010-7-19 21:14
搞定了  原因就在 "这是上位机驱动的事情,我也不知道怎么做。"
编了个程序取数据后就OK了  谢谢香主 谢谢 ...

请问您是如何编写的呢?能分享一下吗?

使用特权

评论回复
12
he19880406| | 2013-11-25 16:55 | 只看该作者
我也遇到这样的问题。使用超级终端接收不到下位机发送来的数据。虚拟串口方式,上位机应该由驱动程序来处理发送IN命令吧。

使用特权

评论回复
13
he19880406| | 2013-11-25 16:57 | 只看该作者
不知道楼主现在问题解决了吗?

使用特权

评论回复
14
1375917982gxut| | 2017-5-22 15:20 | 只看该作者
同问同求,怎么向stm32 USB设备发送、接收数据

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

1

粉丝