完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我阅读了ch55x的手册,关于bUEP_R_RES / bUEP_T_RES有点疑惑,当遇到控制传输就搞得更糊涂了。我发现在状态阶段,收到了IN事务,代码写的是UEP0_CTRL = UEP_R_RES_ACK | UEP_T_RES_NAK。在状态阶段,收到了OUT事务,代码写的是UEP0_CTRL |= UEP_R_RES_ACK | UEP_T_RES_NAK。一个是=另一个是|=。为什么要这样写能解释一下吗?
还有就是每次放入Ep0Buffer的数据是为了下一次IN事务准备的对吗,这就是为啥在setup阶段就开始填写Ep0Buffer了? |
|
相关推荐
1个回答
|
|
|
Uep0_ctrl默认复位值都为0,等于是直接给寄存器赋后面的值,而或等是在不改变寄存器原先值的基础上再把相应位置1,如果寄存器其他位为0的话这两种写法效果是一样的。
Ep0buffer缓冲区指向的是端点0的dma地址,如果有数据要上传时需要先把数据准备好,等待主机发IN令牌包来取数据。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
370 浏览 0 评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
875 浏览 0 评论
1477 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
3428 浏览 2 评论
2831 浏览 1 评论
安卓手机支持外接otg扩展坞 然后使用ch340+ch9329控制电脑吗
1825浏览 1评论
1477浏览 1评论
370浏览 0评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
875浏览 0评论
480浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-8 09:47 , Processed in 1.019200 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1406