CH374無法取得U盤設(shè)備描述符

我用的是LPC2378處理器,使用方式大致如下圖:

LPC2378---------(SPI)-------CH374----------U盤

我參照的例子是CH374LIB.ZIP下的EXAM/HOSTDISK目錄,對U盤進行初始化和物理扇區(qū)讀寫。

可運行中出現(xiàn)了一個問題:就是每當(dāng)跑到"獲取設(shè)備描述符"的時候不能返回USB_INT_SUCCESS,直接等待U盤拔出!

通過示波器可以看到SPI接口正常的波形, 在程序中對CH374的寄存器也能正常操作,應(yīng)該可以確認SPI連接、初始化都是正確的。咨詢貴公司的技術(shù)人員,說可能是延時函數(shù)問題,盡量保證微秒、毫秒延時函數(shù)跟真正的微秒、毫秒接近。 今天我用示波器通過波形觀察糾正了微秒、毫秒延時函數(shù),保證微秒、毫秒延時函數(shù)跟真正的微秒、毫秒十分接近了,代碼如下??墒沁€是出現(xiàn)無法獲取設(shè)備描述符,請問還有可能是什么原因呢?為什么老是運行不過去呢?

#if 1 while(1) { //高電平保持1毫秒,低電平保持2毫秒 IO0CLR |= SPI_SCS; //低電平 IO0SET |= SPI_SCS; //高電平 mDelaymS(1); //延時1毫秒 IO0CLR |= SPI_SCS; //低電平 mDelaymS(2); //延時2毫秒 } #endif

自己頂一下。 :) 有人能說說這是哪里出了問題么?


374 SPI方式支持模式0和模式3,在操作的時候CS要一直保持低電平直到整個讀寫操作結(jié)束,可以參考我們說明書上的SPI方式的讀寫時序.


我用的是模式3,SPI的讀寫是正確的,對CH374的寄存器都能夠正常讀寫!


"獲取設(shè)備描述符"的時候不能返回USB_INT_SUCCESS 我的也是啊,返回值是 0x20 不知道是什么意思?? 我用的是模擬并口操作374的


這個問題你可以去查下在你往CH374寫獲取設(shè)備描述符的命令寫到CH374里面去,你在讀回來看下你的數(shù)據(jù)有沒有寫下去,因為有很多時候由于獲取命令沒有寫下去就回導(dǎo)致上述的問題


另外你用的硬件是什么,這樣的現(xiàn)象和延時函數(shù)也有關(guān)系,里面的US.MS函數(shù)根據(jù)自己的硬件去調(diào)節(jié),我們提供的參考程序里面的延時函數(shù)是51MCU 24MHZ的硬件環(huán)境.


我現(xiàn)在調(diào)試跟蹤到 設(shè)備返回PID值為 0x0c DEF_USB_PID_PRE 請問這說明什么呢?程序在這個地方重試3次后超時返回的0x20 ! 另外請教一下怎樣回讀寫入的數(shù)據(jù)呢?


測試過writeblock后,readblock數(shù)據(jù)8字節(jié)是對的, SetupGetDevDescr[] = { 0x80, 0x06, 0x00, 0x01, 0x00, 0x00, 0x12, 0x00 } 監(jiān)控device端并沒有接收到這些數(shù)據(jù)?。。??


延時函數(shù)有沒有調(diào)節(jié)?根據(jù)自己的硬件來調(diào)節(jié)一下.


原來用過ch372做設(shè)備,延時應(yīng)該沒有問題,不過現(xiàn)在改成定時器延時,不會又問題了?,F(xiàn)在調(diào)試的時候374接原來372的設(shè)備和讀卡器返回值是一樣的。都是 0x8c 與上0x0f后是 DEF_USB_PID_PRE 狀態(tài)。 測試過writeblock后,readblock數(shù)據(jù)8字節(jié)是對的,所以SetupGetDevDescr已經(jīng)寫入374,但是374并沒有成功發(fā)送給372,不知道那里又問題呢?


問題找到了,是晶振的問題。換成24M后OK!


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

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