兩個芯片是完全兼容的,第2腳都是復(fù)位輸入引腳呀,第25都是復(fù)位輸出引腳,只是CH376的第25腳復(fù)用為SDO引腳接SD卡。
還有376和375的引腳2和引腳25 不一樣,可以通用么?
解答見16樓
還有376和375的引腳2和引腳25 不一樣,可以通用么?
這兩款芯片引腳上是可以通用的,CH375、CH376的第2腳不都是復(fù)位輸入引腳嗎?第25腳CH375是復(fù)位輸出引腳,CH376的第25腳在進(jìn)入SD卡模式之前也是復(fù)位輸出引腳。
如果還有什么疑問,請來電咨詢!謝謝!
我做了一個測試 返回值都是零 ,是不是這三個函數(shù)錯了? xWriteCH376Cmd: NOP MOV P0,A ;A中是命令 SETB CH376_A0 CLR CH376_CS CLR CH376_WR NOP CLR CH376_CS SETB CH376_WR SETB CH376_CS CLR CH376_A0 MOV P0,#0FFH NOP RET
xWriteCH376Data:MOV P0,A ;A中為數(shù)據(jù) CLR CH376_A0 CLR CH376_CS CLR CH376_WR NOP CLR CH376_CS SETB CH376_WR SETB CH376_CS MOV P0,#0FFH NOP RET
xReadCH376Data: NOP CLR CH376_A0 CLR CH376_CS CLR CH376_RD NOP CLR CH376_CS MOV MDATA,P0 ;讀出數(shù)據(jù)放入MDATA中 SETB CH376_RD SETB CH376_CS MOV P0,#0FFH RET
時序流程應(yīng)該沒什么問題,注意寫脈寬必須大于60ns,命令寫完之后必須延時1.5us。測試命令必須通過證明接口沒問題。
這個問題搞定,測試通過,謝謝 還有一個問題,沒有采用總線方式,用的并口,將INT接了一個普通口,怎么去查詢中斷狀態(tài)呢? 要是int懸空,又該怎么查詢中斷狀態(tài)呢?
INT引腳的使用在12樓已經(jīng)說明過。 如果普通口接中斷,只需要查詢INT引腳為低電平,說明產(chǎn)生中斷。 如果不接中斷腳,通過xReadCH376Status函數(shù)(讀命令子函數(shù))讀取并行端口的最高位,該位等效于中斷引腳的狀態(tài),最高位為低,表示有中斷產(chǎn)生;
有寫命令,寫數(shù)據(jù),讀數(shù)據(jù),有讀命令的函數(shù)么 ?
在檢測U盤狀態(tài)的時候,返回值是15 15 對應(yīng)的是檢測到USB連接事件,可能是新連接或斷開后重新連接 怎么會出現(xiàn)這個狀況的? 測試已經(jīng)通過了
讀命令與讀數(shù)據(jù)類似,只是A0需要置1。 在檢測U盤連接之前需要設(shè)置模式06,0x15說明U盤已經(jīng)連接上了,這是正常的。
模式 已經(jīng)設(shè)置好了06 檢測U盤連接狀態(tài)時的返回值是0x15,不是0x14, 0x15是對應(yīng)的是檢測到USB連接事件,可能是新連接或斷開后重新連接 0x14是連接成功, 也就是0x15并沒有連接成功,這是什么原因?
正確的流程應(yīng)該是這樣的:插上一個U盤會產(chǎn)生一個中斷,然后讀一下這個中斷狀態(tài),之后再發(fā)送CMD0H_DISK_CONNECT(0x30)這條命令,再等待中斷狀態(tài)就是0x14.
應(yīng)該先給電,還是先插U盤 ,