有沒有哪位兄弟用CH372+MCU+FLASH做U盤?
你可以到我們公司網(wǎng)站的在線下載里面去下載CH372DSK,這個就是372模擬U盤的例子程序。
怎么我用CH372DSK里的程序,只改了訪問地址,編繹后放到板上運(yùn)行,電腦總是說是無法識別的USB設(shè)備,我的硬件應(yīng)該沒問題的,因?yàn)橛眠@個程序設(shè)為內(nèi)置固件的USB設(shè)備方式后,電腦就可以識別出來了(驅(qū)動可以安裝上),用別的程序試過可以和電腦通迅,就是一設(shè)為外置固件的USB設(shè)備方式后,就不行了,請問這個程序是否有什么問題,我同時(shí)試過 CH372EVT.ZIP\PUB\XFIRM下的這個程序,效果是一樣的,請高手指點(diǎn)!
我在中斷了加了一些調(diào)試輸出如下: InterruptStatus=7 InterruptStatus=7 InterruptStatus=7 InterruptStatus=7 InterruptStatus=7 InterruptStatus=7 InterruptStatus=7 InterruptStatus=7 InterruptStatus=c 控制傳輸成功:80 6 0 1 0 0 40 0 InterruptStatus=c 控制傳輸成功: InterruptStatus=0 InterruptStatus=0 InterruptStatus=0 InterruptStatus=c 控制傳輸成功: InterruptStatus=c 控制傳輸成功: InterruptStatus=7 InterruptStatus=7 InterruptStatus=7 InterruptStatus=c 控制傳輸成功:80 6 0 1 0 0 40 0 InterruptStatus=c 控制傳輸成功: InterruptStatus=0 InterruptStatus=0 InterruptStatus=0 InterruptStatus=c 控制傳輸成功:0 5 1 0 0 0 0 0 InterruptStatus=c 控制傳輸成功: InterruptStatus=7 InterruptStatus=7 InterruptStatus=7 InterruptStatus=c 控制傳輸成功:80 6 0 1 0 0 40 0 InterruptStatus=c 控制傳輸成功: InterruptStatus=0 InterruptStatus=0 InterruptStatus=0 InterruptStatus=c 控制傳輸成功:0 5 1 0 0 0 0 0 InterruptStatus=c 控制傳輸成功:
你這個問題是老問題了,我們程序是沒有問題的,出現(xiàn)你這個現(xiàn)象的原因就是PRINTF的問題,也就是你加了打印輸出造成的,在PC機(jī)發(fā)控制傳輸開始的時(shí)候,下面就開始枚舉設(shè)備,這段時(shí)間時(shí)候有限制的,然而你這個時(shí)候加輸出,無疑造成時(shí)間延時(shí),PC端在一定時(shí)候沒有收到上傳的描述符,會再次發(fā)送標(biāo)準(zhǔn)的命令下來再次要求設(shè)備上傳描述符,但是由于加了延時(shí),枚舉還是超時(shí),PC端重試次數(shù)是有限制的,如果重試一段時(shí)間以后還是沒有辦法獲取到描述符,PC機(jī)就會放棄枚舉該設(shè)備,并且提示無法設(shè)備該設(shè)備!不知道我的解釋您有沒有清楚!話有點(diǎn)多,呵呵!解決的方法就是去掉打印輸出.
大哥說得很有道理,可是我把全部的PRINTF去掉,結(jié)果都一樣呀,
還有,我用BUS HOUND可以抓到PC向CH372發(fā)GET STATUS 和 CLEAR FEATURE,可是在中斷里就沒有出現(xiàn)這兩個請求,是否CH372內(nèi)部屏蔽掉了?(用的是外置固件的USB設(shè)備方式)
無法識別是因?yàn)橹皇菣z測到設(shè)備連接但是描述符沒有上傳或者上傳的不正確導(dǎo)致.這樣吧,您把你的程序發(fā)到我們技術(shù)支持郵箱里.tech@wch.cn,還是建議您做一下測試命令
看起來好簡單,(我做的兩塊板(ARM和51)都是成功做了驅(qū)動打印機(jī),讀U盤,還有用內(nèi)置方式下和電腦成功通迅的),硬件不可能有問題,可搞了幾天,用了CH372DSK,CH372EVT.ZIP\PUB\XFIRM\C,連CH372EVT.ZIP\PUB\XFIRM\ASM的也試了,真沒辦法啦,今天一早,不甘心,拿起很久以前從沁恒買回來的開發(fā)板(CH375+CH341),用CH372EVT.ZIP\PUB\XFIRM\C里的源程序,在KEIL7.0下新建一個工程,ADD入U(xiǎn)SBEX.C,編繹,燒錄,放到開發(fā)板上還是一個樣子呀,我不敢大意了,誠心請教!
還要多問下,CH375+CH341開發(fā)板,CH375的地址是多少?
是CH375評估板么?若是地址如下: CH375_CMD_PORT: 0xBDF1; /* CH375命令端口的I/O地址 */ CH375_DAT_PORT: 0xBCF0; /* CH375數(shù)據(jù)端口的I/O地址 */ 如果用CH375評估板運(yùn)行示例程序肯定是不會有問題的,除非軟硬件有改動。
是CH375評估板的,CH375EVT,可以肯定沒有動過這個板的,用BUS HOUND看,發(fā)了三次的GET STATUS 和CLEAR FEATURE 后就提示無法識別的USB設(shè)備,同時(shí)對應(yīng)的測到INT0上有中斷產(chǎn)生,硬件沒問題的,
用CH375評估板+CH372DSK,終于OK了,可是為什么我的板不行呢,不過還好,起碼知道是可行的,呵呵,還要繼續(xù)請教!
在我的51板上可以啦,原來是中斷設(shè)錯了,不過我最終是要用在ARM上,現(xiàn)在還是不行,肯定是中斷的問題了,不知道有沒有ARM的中斷例子呢(44B0),不過用內(nèi)置固件已經(jīng)是做成產(chǎn)品的,不知有何不同呢?
那位仁兄能不能把你的CH372DSK這個文件給我一份啊,我的畢業(yè)設(shè)計(jì)是用CH75+SD做U盤,可是到現(xiàn)在一點(diǎn)思路都沒有不,別的都好說就是處理數(shù)據(jù)哪一點(diǎn)思路都沒有 個人信息保護(hù),已隱藏 多謝了
這位兄弟可否把你的CH372DSK這個壓縮包給我傳一份,申請了樣片,想用CH372做一個類似U盤的東東,可現(xiàn)在一點(diǎn)思路也沒有,所以麻煩你了 個人信息保護(hù),已隱藏 多謝了??!