打印

68013中断传输模式和控制传输模式矛盾吗?

[复制链接]
2961|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
benedy|  楼主 | 2010-5-26 16:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,我在调试的时候发现,当 68013的中断传输模式开始之前,控制传输发送命令是可以实现的,但是当成功完成一次中断传输后,控制传输命令就失效了,请问各位高手这是哪方面的原因呢?
沙发
小工程师| | 2010-5-27 18:33 | 只看该作者
控制传输和中断传输互不影响的,一般USB EP都有控制传输,检查一下是否是你的中断传输的Endpoint配置的问题。

使用特权

评论回复
板凳
benedy|  楼主 | 2010-5-28 09:47 | 只看该作者
还有就是有这么一个问题,没有用块传输读出EP4INBUF[0-128]中的数据时,能够用EP0发送用户自定义的命令,将数据发送到串口,用串口调试助手可以看到数据。可是当读上来EP4INBUF[0-128]中的数据后,再发送自定义的发送数据命令,串口调试助手却没有数据接收到。

使用特权

评论回复
地板
benedy|  楼主 | 2010-5-28 09:47 | 只看该作者
望二楼的给点建议吧

使用特权

评论回复
5
benedy|  楼主 | 2010-5-28 10:08 | 只看该作者
原因找到了,我在执行自定义的命令后if(DR_VendorCmnd()) ,执行了禁止EP0的命令。也就是说当命令正确时,不执行EP0的禁止函数,可是当命令错误时便执行了禁止EP0的操作。
  那么当中断传输时,HOST发送的命令既不是EP0默认的枚举命令,也不是DR_VendorCmnd()的自定义的命令,所以执行了禁止EP0的操作,导致再次发送自定义的命令时,无法运行。

使用特权

评论回复
6
benedy|  楼主 | 2010-5-28 10:09 | 只看该作者
真是破费了一番周折啊!

使用特权

评论回复
7
benedy|  楼主 | 2010-5-28 10:10 | 只看该作者
颇费了一番周折啊!

使用特权

评论回复
8
benedy|  楼主 | 2010-5-28 11:08 | 只看该作者
问题继续啊:上面解决的是自定义控制传输与块传输的矛盾,可是中断传输与控制传输还是存在矛盾,即当中断传输成功后,就不能进行控制传输。

使用特权

评论回复
9
benedy|  楼主 | 2010-5-28 11:08 | 只看该作者
我将所有的EZUSB_STALL_EP0()禁止控制命令全部注释,结果还是不行。
不知这又是为何!

使用特权

评论回复
10
benedy|  楼主 | 2010-5-28 13:58 | 只看该作者
问题找的了,原来是没有清除中断标志位!

使用特权

评论回复
11
cosmicy| | 2010-5-29 15:34 | 只看该作者
你用的是中断传输模式啊,为什么不用块传输模式呢?

使用特权

评论回复
12
benedy|  楼主 | 2010-5-29 22:22 | 只看该作者
中断传输不是说传的比较准时吗?
我就是为了这个目的啊

使用特权

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

本版积分规则

175

主题

843

帖子

0

粉丝