打印

请教:F105 OTG中的USB_OTG_WritePacket()如何开始发送

[复制链接]
3676|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kwell2009|  楼主 | 2011-9-27 17:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,调试OTG中,修改官方HID的DEMO,插上设备后,在枚举获取设备描述符阶段,执行USBH_CtlReq()后,在 USBH_Process() case HOST_CTRL_XFER 状态中执行 USBH_CtlSendSetup(),最终执行到 USB_OTG_WritePacket()
接着就是进入OTG的 USB_OTG_USBH_handle_hc_ISR() 主机通道中断,方向是OUT,而此时对应的主机通道中断寄存器 OTG_FS_HCINT 的状态为 TXERR:传输错误
所以,估计是我在USB发送数据这块没搞清楚。请教,USB_OTG_WritePacket() 这函数执行后,是如何实现发送数据的?谢谢。
沙发
kwell2009|  楼主 | 2011-9-27 19:44 | 只看该作者
参考手册中说:
数据将根据OTG_FS_HCCHARx寄存器的EPTYPE位,自动载入相应的周期性或非周
期性发送FIFO中。当最后一个32位的数据被写入FIFO中,一个请求将被插入请求队
列的末端,等待调度执行。
是硬件自动执行发送动作的么?

使用特权

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

本版积分规则

个人签名:堆码,调试,抓狂...

1

主题

51

帖子

2

粉丝