OpenEdv-开源电子网

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

stm32做usb通信,上、下位机已经建立起通信了,根据BULK传输,超过64B的数据也分包发送了,也做出来了。现在为什么大于256B,下位机就发不出数据了呢?

[复制链接]

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2013-12-16
在线时间
0 小时
发表于 2013-12-31 14:52:53 | 显示全部楼层 |阅读模式
stm32做usb通信,上、下位机已经建立起通信了,上下位机发送接收都正常。根据BULK传输,超过64B的数据也分包发送了,也做出来了。现在为什么大于256B,下位机就发不出数据了呢?请群里的大侠教教我。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2012-9-24
在线时间
0 小时
发表于 2013-12-31 16:23:06 | 显示全部楼层
回复【楼主位】头发很乱:
---------------------------------
USB配成了什么设备??
是好东西,就要顶,不能看完了、下完了就跑了。。。没礼貌。。。
回复 支持 反对

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2013-12-16
在线时间
0 小时
 楼主| 发表于 2013-12-31 22:23:03 | 显示全部楼层
回复【2楼】不在网吧:
---------------------------------
usb我配备的是HID的设备。HID也不应该大于256B就发布出去了啊?
回复 支持 反对

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2013-12-16
在线时间
0 小时
 楼主| 发表于 2014-1-2 08:40:25 | 显示全部楼层
回复【2楼】不在网吧:
---------------------------------
大侠,请教教我吧?
回复 支持 反对

使用道具 举报

11

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2012-9-24
在线时间
0 小时
发表于 2014-1-2 13:59:49 | 显示全部楼层
回复【4楼】头发很乱:
---------------------------------
HID设备我没弄过,只是之前弄过USB打印机模式,HID设备例程很多的,网上随便荡荡就一堆了,你可以借鉴一下别人怎么做的。
方便的话,你也可以把你的东西做个介绍,详细一点,发到我的邮箱看看,我尽量帮你,licongxuan516@163.com
是好东西,就要顶,不能看完了、下完了就跑了。。。没礼貌。。。
回复 支持 反对

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2013-12-16
在线时间
0 小时
 楼主| 发表于 2014-1-2 15:32:38 | 显示全部楼层
回复【5楼】不在网吧:
---------------------------------
谢谢,太感激了。我等会整理完了以后,我发给你吧。
回复 支持 反对

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2013-12-16
在线时间
0 小时
 楼主| 发表于 2014-1-2 16:55:19 | 显示全部楼层
回复【5楼】不在网吧:
---------------------------------
已经给您发过去了。收到没?
回复 支持 反对

使用道具 举报

2

主题

14

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2014-1-3
在线时间
3 小时
发表于 2014-1-3 14:53:04 | 显示全部楼层
楼主能否分享一下你USB通讯的原理或者代码,本人这几天也在研究这个。
回复 支持 反对

使用道具 举报

11

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2012-9-24
在线时间
0 小时
发表于 2014-1-3 19:50:07 | 显示全部楼层
回复【7楼】头发很乱:
---------------------------------
收到了。。。在看
是好东西,就要顶,不能看完了、下完了就跑了。。。没礼貌。。。
回复 支持 反对

使用道具 举报

11

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2012-9-24
在线时间
0 小时
发表于 2014-1-3 20:18:59 | 显示全部楼层
回复【7楼】头发很乱:
---------------------------------
1、
void USB_SendString(u8 *str)    // 
{
}
函数中是不是少了个:
SetEPTxCount(ENDP2, ii);


2、
void EP1_OUT_Callback(void)
{
}
函数中将打开端点放到函数最后 SetEPRxValid(ENDP1);
一进函数读完缓存中数据就开启端口貌似不太符合思维,你将数据处理完了再打开端口。
是好东西,就要顶,不能看完了、下完了就跑了。。。没礼貌。。。
回复 支持 反对

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2013-12-16
在线时间
0 小时
 楼主| 发表于 2014-1-6 08:36:01 | 显示全部楼层
回复【10楼】不在网吧:
---------------------------------
原来是这样,那我再试一试好了。谢谢
回复 支持 反对

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2013-12-16
在线时间
0 小时
 楼主| 发表于 2014-1-6 16:48:21 | 显示全部楼层
回复【10楼】不在网吧:
---------------------------------
我已经找到原因所在了。是我不够仔细,不注意细节。原因就是前后定义的u8 Receive_Buffer;u8 Transi_Buffer;太小了,以至于数据发送长度太短,会发生越界等种种特殊的情况。
回复 支持 反对

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2013-12-16
在线时间
0 小时
 楼主| 发表于 2014-1-6 16:52:49 | 显示全部楼层
回复【8楼】santa_q:
---------------------------------
我的程序很烂的,我是个初学者。建议你从网上多找些资料,多看看,迟一些我再把资料发给你。如果还有什么不明白的,你可以问我,我会尽我所能。
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2012-8-16
在线时间
0 小时
发表于 2014-1-8 14:18:18 | 显示全部楼层
回复【13楼】头发很乱:
---------------------------------楼主,现在想做一个USB设备能通过PC机进行数据更新,目标板内部DATA FLASH数据经常需要更新。在PC端设计一个应用程序。当接入USB设备,打开应用程序,能直接把数据写入DATA FLAS 。是不是和你的类似。能支持参考下不。
回复 支持 反对

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2013-12-16
在线时间
0 小时
 楼主| 发表于 2014-1-8 14:22:10 | 显示全部楼层
回复【14楼】hllhkk:
---------------------------------
呵呵。。。我做的不是你的那个意思。我只是把外扩SRAM里面的数据,发往上位机。
回复 支持 反对

使用道具 举报

2

主题

14

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2014-1-3
在线时间
3 小时
发表于 2014-2-25 16:49:53 | 显示全部楼层
如果数据长度大于64,建议分批次每次发送64个字节,发送完之后做1个ms的延时!
回复 支持 反对

使用道具 举报

25

主题

80

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2014-5-14
在线时间
6 小时
发表于 2015-4-18 15:52:20 | 显示全部楼层
回复【15楼】头发很乱:
---------------------------------
您好,我做的USB和您差不多,也是实现数据传输用的,我之前也用的HID设备类型,但是在网上看到对于全速HID设备,每个事务最多传64字节,改成批量传输就可以发送超过64字节的数据吗?您做的最大可以传送多少字节呢?
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-6-1
在线时间
0 小时
发表于 2016-6-1 13:36:38 | 显示全部楼层
你好,我现在做USB的BULK通信,调了好久没出来,能分享下你做的程序吗?谢谢!
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-6-1
在线时间
0 小时
发表于 2016-6-1 13:38:08 | 显示全部楼层
你好,能分享下你的程序,谢谢!邮箱844314821.qq.com
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2019-6-3
在线时间
3 小时
发表于 2019-10-19 22:58:57 | 显示全部楼层
发啥呢?
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2020-5-18
在线时间
8 小时
发表于 2020-9-10 10:30:16 | 显示全部楼层
楼主,在stm32f4使用custom HID例程修改成bulk in/out,我的下位机向上位机发送数据,一直不能成功,发现是下位机一直没有收到上位机的in请求,请问应该怎么改
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-17 10:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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