ch55x usb UEPn_CTRL寄存器求助

我閱讀了ch55x的手冊,關(guān)于bUEP_R_RES / bUEP_T_RES有點疑惑,當(dāng)遇到控制傳輸就搞得更糊涂了。我發(fā)現(xiàn)在狀態(tài)階段,收到了IN事務(wù),代碼寫的是UEP0_CTRL = UEP_R_RES_ACK | UEP_T_RES_NAK。在狀態(tài)階段,收到了OUT事務(wù),代碼寫的是UEP0_CTRL |= UEP_R_RES_ACK | UEP_T_RES_NAK。一個是=另一個是|=。為什么要這樣寫能解釋一下嗎?

還有就是每次放入Ep0Buffer的數(shù)據(jù)是為了下一次IN事務(wù)準(zhǔn)備的對嗎,這就是為啥在setup階段就開始填寫Ep0Buffer了?

Uep0_ctrl默認復(fù)位值都為0,等于是直接給寄存器賦后面的值,而或等是在不改變寄存器原先值的基礎(chǔ)上再把相應(yīng)位置1,如果寄存器其他位為0的話這兩種寫法效果是一樣的。

Ep0buffer緩沖區(qū)指向的是端點0的dma地址,如果有數(shù)據(jù)要上傳時需要先把數(shù)據(jù)準(zhǔn)備好,等待主機發(fā)IN令牌包來取數(shù)據(jù)。


謝謝回復(fù)!


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频