CH375V對讀卡器(SD卡)初始化問題

我用CH375V能正常讀寫U盤,當(dāng)接讀卡器時能讀出描述符但進行mInitDisk( ); SD卡初始化失敗,即發(fā)CH375_WR_CMD_PORT( CMD_DISK_INIT );后就得不到中斷,可能沒有初始化SD卡成功,我做過單獨SD卡的讀寫,知道SD初始化不簡單,就想知道CMD_DISK_INIT是怎樣運行的,應(yīng)怎樣做調(diào)整,謝謝

你用下面的初始化代碼試試,建議你使用子程序庫操作,庫的兼容性更高 unsigned char mInitDisk( ) { unsigned char mIntStatus; CH375_WR_CMD_PORT( CMD_GET_STATUS ); /* 產(chǎn)生操作完成中斷, 獲取中斷狀態(tài) */ mIntStatus = CH375_RD_DAT_PORT( ); if ( mIntStatus == USB_INT_DISCONNECT ) return( mIntStatus ); /* USB設(shè)備斷開 */ CH375_WR_CMD_PORT( CMD_DISK_INIT ); /* 初始化USB存儲器 */ mIntStatus = mWaitInterrupt( ); /* 等待中斷并獲取狀態(tài) */ if ( mIntStatus != USB_INT_SUCCESS ) return( mIntStatus ); /* 出現(xiàn)錯誤 */ CH375_WR_CMD_PORT( CMD_DISK_SIZE ); /* 獲取USB存儲器的容量 */ mIntStatus = mWaitInterrupt( ); /* 等待中斷并獲取狀態(tài) */ if ( mIntStatus != USB_INT_SUCCESS ) { /* 出錯重試 */ mDelay100mS( ); CH375_WR_CMD_PORT( CMD_DISK_SIZE ); /* 獲取USB存儲器的容量 */ mIntStatus = mWaitInterrupt( ); /* 等待中斷并獲取狀態(tài) */ } if ( mIntStatus != USB_INT_SUCCESS ) return( mIntStatus ); /* 出現(xiàn)錯誤 */ /* 可以由CMD_RD_USB_DATA命令將容量數(shù)據(jù)讀出 */ return( 0 ); /* U盤已經(jīng)成功初始化 */ }


哈哈,我用的就是這上初始化代碼,現(xiàn)在能跑了,還是因為CH375V是3.3V電壓不夠的原因,現(xiàn)在接了5V什么都解決了,在另一帖中受到SCM的啟發(fā)豁然開朗呀,下面的開發(fā)也順手而來了,謝謝 強烈建議你們老板給SCM加薪,能者多得


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

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