本人在設(shè)計(jì)89c51擴(kuò)展usb口時(shí)候,ch375上電復(fù)位已經(jīng)正常了,但是當(dāng)我插上usb設(shè)備的時(shí)候,比如u盤,在查看usb設(shè)備時(shí)候連接上的時(shí)候,收到的數(shù)據(jù)總是0x5F。這是怎么一回事啊?
0x5F是命令操作失敗,說(shuō)明你的命令沒(méi)有發(fā)下去.
首先,你呀設(shè)置375的模式為0X06,其次,如果設(shè)置模式不成功的話,那么,你要用測(cè)試命令來(lái)檢查你的硬件有沒(méi)有問(wèn)題,再次,如果上面的操作都成功的話,那么你插上U盤之后,375的中斷腳會(huì)變低嗎??
回復(fù)樓上。我們的工作模式06設(shè)置成功了,但是插上u盤,375的中斷引腳沒(méi)有變低,所以老是不能找到u盤,請(qǐng)問(wèn)這是怎么回事。
你測(cè)一下你插上U盤后,U盤的電壓是多少,有的U盤低于4.6V左右的話可能就不工作了。
插上u盤,電壓是5。0伏 然后設(shè)置工作模式為06,設(shè)置正常
你在設(shè)置模式之前,用CHECK_EXIST命令檢測(cè)375和單片機(jī)的硬件連線有沒(méi)問(wèn)題嗎?你用這個(gè)命令先發(fā)數(shù)據(jù)55看返回的是不是AA,在反過(guò)來(lái)發(fā)AA看收到的是不是55,先確保你的硬件連線沒(méi)有問(wèn)題。
回復(fù)樓上的:
CHECK_EXIST 我用過(guò)了的,收到的是55,同時(shí)set_usb_mode設(shè)置是06,設(shè)置也對(duì)了。u盤電壓是5v,d+是3v,d-是0v,但是就是插u盤,int就是不變低
你的程序只要寫到設(shè)置模式6,后面的先不要寫,當(dāng)程序運(yùn)行之后在插上U盤你看下會(huì)不會(huì)變低,其次就是你的INT引腳會(huì)不會(huì)被其他的設(shè)備拉高了?你也可以這樣做下,將你的模式設(shè)置成0X02,看下UD+的電壓是多少?如果為3。3V左右的話,那就說(shuō)明你的硬件是沒(méi)有問(wèn)題的,再次,在你的USB口加一個(gè)100UF的電解電容試下看,因?yàn)楫?dāng)你插上U盤的瞬間,電壓降的太低的話也會(huì)出現(xiàn)這種問(wèn)題
回復(fù)樓上,按照你的方法作了修改和測(cè)試,但是問(wèn)題依舊
U盤的電壓是4.88V算不算正常啊