設(shè)置USB工作模式時(shí)應(yīng)該返回什么?

我用CH375_WR_CMD_PORT( CMD_SET_USB_MODE );CH375_WR_DAT_PORT( 6 );設(shè)置時(shí)總是返回 USB_INT_CONNECT,而不是返回CMD_RET_SUCCESS.請(qǐng)問到底應(yīng)該返回什么?

設(shè)置模式命令返回的是操作狀態(tài),而不是中斷狀態(tài),也就是返回CMD_RET_SUCCESS,模式設(shè)置成功后,你插上U盤就自動(dòng)檢測(cè)到U盤連接,返回中斷狀態(tài)USB_INT_CONNECT。 你可以設(shè)置模式之后20uS返回操作狀態(tài),你可以設(shè)置模式之后就等待讀取操作狀態(tài),

CH375_WR_CMD_PORT( CMD_SET_USB_MODE ); CH375_WR_DAT_PORT( mode ); for( i=0; i!=100; i++ ) { /* 等待設(shè)置模式操作完成,不超過30uS */ if ( CH375_RD_DAT_PORT()==CMD_RET_SUCCESS ) return( TRUE ); /* 成功 */ }


返回2個(gè)狀態(tài)給你,先是返回0X55(操作成功),接著在返回0X15(設(shè)備連接-在你設(shè)備插上的前提下),你可以不用看設(shè)置模式的狀態(tài)。實(shí)際在操作的過程中,只要測(cè)試命令通過了,那么你在設(shè)置模式的時(shí)候可以不用判斷其返回的狀態(tài)是什么,只需要檢測(cè)設(shè)備連接就可以了。


謝謝樓上兩位的指點(diǎn).試了試,好象CH375_WR_CMD_PORT( CMD_SET_USB_MODE )只有在插盤以前才返回CMD_RET_SUCCESS,是不是這樣?


如果你U盤先插上的話,其實(shí)是你設(shè)置好模式之后,先返回CMD_RET_SUCCESS,再返回USB_INT_CONNECT的。 模式設(shè)置成功之后,375會(huì)自動(dòng)檢測(cè)U盤的連接,檢測(cè)到連接上的話,就會(huì)產(chǎn)生中斷通知單片機(jī),此時(shí)的中斷狀態(tài)就是連接與否的中斷狀態(tài):USB_INT_CONNECT或USB_INT_DISCONNECT。


謝謝luoye268268的解釋,你能告訴我CMD_RET_SUCCESS的持續(xù)時(shí)間嗎?因?yàn)橹灰猽盤事先插上, 我就收不到CMD_RET_SUCCESS,然后寫扇區(qū)就失敗,而在CMD_USB_SET_MODE后插上u盤就能收到 CMD_RET_SUCCESS,并且寫扇區(qū)成功.


你在設(shè)置模式之前,如果使用CHECK_EXIST命令測(cè)試硬件返回成功的話,那你設(shè)置模式時(shí)就不用讀取返回的操作狀態(tài)CMD_RET_SUCCESS了。


謝謝luoye268268的提示,不過無法解決我的問題.好在我改用ch374后沒有這些問題了.


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

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