[STM32F4] usb传输的问题

[复制链接]
5155|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观察看看
 楼主| jimmjimm 发表于 2014-2-21 17:10 | 显示全部楼层
yang4469 发表于 2014-2-21 16:12
你确定你驱动改正确了?
如果你用官网的上位机程序没问题,换成自己的就有问题那么下位机肯定是没有问题 ...

驱动就是libusb自动生成的,就改过名字,我用python/pyusb写的小程序,先发一个数然后读书,可是怎么样都读不到数
yang4469 发表于 2014-2-21 21:55 | 显示全部楼层
你对照着官网的上位机来改吧
 楼主| jimmjimm 发表于 2014-2-24 14:09 | 显示全部楼层
yang4469 发表于 2014-2-21 21:55
你对照着官网的上位机来改吧

我又回来了,发生一些我完全无法理解的事,今天一上电0x81端口竟然就能用了但是端口0x82还是不行,一样的设置一样的方式......
yang4469 发表于 2014-2-25 17:41 | 显示全部楼层
jimmjimm 发表于 2014-2-24 14:09
我又回来了,发生一些我完全无法理解的事,今天一上电0x81端口竟然就能用了但是端口0x82还是不行,一样的 ...

除了描述符,配置描述符,还有端点的状态设置都需要注意
 楼主| jimmjimm 发表于 2014-2-28 10:30 | 显示全部楼层
yang4469 发表于 2014-2-25 17:41
除了描述符,配置描述符,还有端点的状态设置都需要注意

https://bbs.21ic.com/forum.php?mod=attachment&aid=MjUyOTM0fDFhYzIwYWNmfDE3NTk2ODc4MTV8MHw%3D

搞了那么久还是不行。。。。端点描述符一样,端口描述符,端点配置(我用DCD_SetEPStatus设置成valid)还是没用,0x83端口就是没不行(我试过改成0x82也不行),另外一个端口就是可以,这到底是为什么啊...........
bjxdylzsts 发表于 2014-2-28 10:33 | 显示全部楼层
端口 配置 你弄对了么?端口 fifo长度也要配置。
 楼主| jimmjimm 发表于 2014-2-28 10:38 | 显示全部楼层
bjxdylzsts 发表于 2014-2-28 10:33
端口 配置 你弄对了么?端口 fifo长度也要配置。

端口配置都一样啊只有地址区别,txfifo长度1,2,3都有都设置呢,还能怎么样呢...
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指定端点发送数据试过?
我能想到的就这些了
flyskylover 发表于 2016-6-13 15:14 | 显示全部楼层
请问在最新的cube库上怎么改?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

56

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部