打印
[STM32F4]

usb传输的问题

[复制链接]
4696|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jimmjimm|  楼主 | 2014-2-21 13:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
根据官方VCP的例程改了一点点,然后用libusb做了一个驱动,用python来测试发现,上位机往下位机发数据没有问题,可是下位机往上位机发数据就有问题了,程序循环在DCD_HandleInEP_ISR这个中断里(很奇怪,主程序根本跑不下去,需要在这个中断里手动把diepint.b.xfercompl置高主程序才能继续运行下去),上位机没有接收到任何数据,我把可以用的官方VCP例程,把pc端的驱动改成libusb也是这样,感觉可能跟驱动的协议有关系?但是这样的话需要如何修改呢,求大家帮帮忙
沙发
yang4469| | 2014-2-21 13:32 | 只看该作者
虽然没用过F4的USB,但是用过F1,感觉不是协议的问题,毕竟上位机发送,下位机能接收到数据,可能是你下位机发送数据的处理问题

使用特权

评论回复
板凳
jimmjimm|  楼主 | 2014-2-21 14:18 | 只看该作者
yang4469 发表于 2014-2-21 13:32
虽然没用过F4的USB,但是用过F1,感觉不是协议的问题,毕竟上位机发送,下位机能接收到数据,可能是你下位 ...

但是用VCP例程,完全可以用的代码,只要把驱动改成libusb的就不能发送,所以好迷茫,到底是怎么回事.....而且我是直接调用最底层的DCD_EP_Tx来发送也不行....

使用特权

评论回复
地板
yang4469| | 2014-2-21 16:12 | 只看该作者
jimmjimm 发表于 2014-2-21 14:18
但是用VCP例程,完全可以用的代码,只要把驱动改成libusb的就不能发送,所以好迷茫,到底是怎么回事.....而且 ...

你确定你驱动改正确了?
如果你用官网的上位机程序没问题,换成自己的就有问题那么下位机肯定是没有问题的
还有下位机不能主动发送数据,必须host发送指令后才能响应,用bushound观察看看

使用特权

评论回复
5
jimmjimm|  楼主 | 2014-2-21 17:10 | 只看该作者
yang4469 发表于 2014-2-21 16:12
你确定你驱动改正确了?
如果你用官网的上位机程序没问题,换成自己的就有问题那么下位机肯定是没有问题 ...

驱动就是libusb自动生成的,就改过名字,我用python/pyusb写的小程序,先发一个数然后读书,可是怎么样都读不到数

使用特权

评论回复
6
yang4469| | 2014-2-21 21:55 | 只看该作者
你对照着官网的上位机来改吧

使用特权

评论回复
7
jimmjimm|  楼主 | 2014-2-24 14:09 | 只看该作者
yang4469 发表于 2014-2-21 21:55
你对照着官网的上位机来改吧

我又回来了,发生一些我完全无法理解的事,今天一上电0x81端口竟然就能用了但是端口0x82还是不行,一样的设置一样的方式......

使用特权

评论回复
8
yang4469| | 2014-2-25 17:41 | 只看该作者
jimmjimm 发表于 2014-2-24 14:09
我又回来了,发生一些我完全无法理解的事,今天一上电0x81端口竟然就能用了但是端口0x82还是不行,一样的 ...

除了描述符,配置描述符,还有端点的状态设置都需要注意

使用特权

评论回复
9
jimmjimm|  楼主 | 2014-2-28 10:30 | 只看该作者
yang4469 发表于 2014-2-25 17:41
除了描述符,配置描述符,还有端点的状态设置都需要注意

https://bbs.21ic.com/forum.php?mod=attachment&aid=MjUyOTM0fDYxM2JhZWIyMDZiNDk2NzRhZmJkNmYwZDQzZWM1ZjU0fDE3MzQ5OTczMDU%3D&request=yes&_f=.rar

搞了那么久还是不行。。。。端点描述符一样,端口描述符,端点配置(我用DCD_SetEPStatus设置成valid)还是没用,0x83端口就是没不行(我试过改成0x82也不行),另外一个端口就是可以,这到底是为什么啊...........

使用特权

评论回复
10
bjxdylzsts| | 2014-2-28 10:33 | 只看该作者
端口 配置 你弄对了么?端口 fifo长度也要配置。

使用特权

评论回复
11
jimmjimm|  楼主 | 2014-2-28 10:38 | 只看该作者
bjxdylzsts 发表于 2014-2-28 10:33
端口 配置 你弄对了么?端口 fifo长度也要配置。

端口配置都一样啊只有地址区别,txfifo长度1,2,3都有都设置呢,还能怎么样呢...

使用特权

评论回复
12
yang4469| | 2014-2-28 15:15 | 只看该作者
jimmjimm 发表于 2014-2-28 10:38
端口配置都一样啊只有地址区别,txfifo长度1,2,3都有都设置呢,还能怎么样呢... ...

端点地址正确?参考下这个
https://bbs.21ic.com/icview-180644-1-1.html
还有就是bushound指定端点发送数据试过?
我能想到的就这些了

使用特权

评论回复
13
flyskylover| | 2016-6-13 15:14 | 只看该作者
请问在最新的cube库上怎么改?

使用特权

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

本版积分规则

24

主题

56

帖子

1

粉丝