當(dāng)我插入U盤是,連接24腳的ACT亮,說明USB設(shè)備連接。但是無法檢測容量,當(dāng)執(zhí)行到 i = CH375DiskSize( )時錯誤,返回2C.此時我的VD-為0V,VD+為3V,USB的VCC為4.82V。試過IBM 的U盤和一雜牌U盤,效果一樣,請幫忙,不知道怎么辦?
CH375_WR_CMD_PORT( CMD_GET_STATUS ); Status = CH375_RD_DAT_PORT( ); 返回值是2C,我想是沒有連接上,USB連接上VD-,VD+為多少?
CH375_WR_CMD_PORT(CMD_SET_USB_MODE ); CH375_WR_DAT_PORT(0X06);
CH375_WR_CMD_PORT( CMD_GET_STATUS ); /* 產(chǎn)生操作完成中斷, 獲取中斷狀態(tài) */ Status = CH375_RD_DAT_PORT( ); 現(xiàn)在返回是15H了
可是執(zhí)行了
CH375_WR_CMD_PORT( CMD_DISK_INIT ); /* 初始化USB存儲器 */ CH375_WR_CMD_PORT( CMD_GET_STATUS ); /* 產(chǎn)生操作完成中斷, 獲取中斷狀態(tài) */ Status = CH375_RD_DAT_PORT( );
返回值還是15H,沒有對USB設(shè)備配置,為什么?
超時錯誤,再次置工作模式為6,會重新檢測到優(yōu)盤,即跳轉(zhuǎn)到CH375初始化再來一次。
剛上電VD-電壓為0,VD+為3V,檢測到連接VD-電壓為0,VD+為3V,配置USB也是VD-電壓為0,VD+為3V
CH375_WR_CMD_PORT( CMD_DISK_INIT ); /* 初始化USB存儲器 */ CH375_WR_CMD_PORT( CMD_GET_STATUS ); /* 產(chǎn)生操作完成中斷, 獲取中斷狀態(tài) */ Status = CH375_RD_DAT_PORT( ); 返回是2C,超時
不是說過了吧,超時就再置一次工作模式6。會重新檢測到優(yōu)盤插入
CH375_WR_DAT_PORT(0X07);mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); mDelay100mS( ); CH375_WR_CMD_PORT(CMD_SET_USB_MODE ); CH375_WR_DAT_PORT(0X06);
CH375_WR_CMD_PORT( CMD_DISK_INIT ); /* 初始化USB存儲器 */ CH375_WR_CMD_PORT( CMD_GET_STATUS ); /* 產(chǎn)生操作完成中斷, 獲取中斷狀態(tài) */ Status = CH375_RD_DAT_PORT( ); 是這樣嗎?可是返回還是2C?請高手幫忙
你有點搞笑啊,你寫完工作模式后,要等待0x15中斷后才可以寫DISK_INIT命令啊。去面壁思過。估計你開始也是這樣子的。優(yōu)盤我沒有遇到過超時錯誤。
要等待0x15中斷后才可以寫DISK_INIT命令啊。我沒發(fā)前面的程序,上面的程序是在0x15中斷后發(fā)的
CH375_WR_CMD_PORT(CMD_SET_USB_MODE ); CH375_WR_DAT_PORT(0X06); 等待中斷,必須為0x15 CH375_WR_CMD_PORT( CMD_DISK_INIT ); /* 初始化USB存儲器 */ 等待中斷->你的程序中看不出等待中斷這個過程。 CH375_WR_CMD_PORT( CMD_GET_STATUS ); /* 產(chǎn)生操作完成中斷, 獲取中斷狀態(tài) */ Status = CH375_RD_DAT_PORT( );
等待中斷->你的程序中看不出等待中斷這個過程。 等待中斷,只要在這加延時就可以嗎?多長時間的延時?
天,你這個結(jié)構(gòu)的話這兒必須是死等中斷產(chǎn)生.你有沒有看過官方提供的示例代碼?如果沒有看過的話建議你去看看再來寫.否則我真的說不清.
能看看你的程序嗎?看看你是怎么寫的,謝謝了
自己去置頂貼下示例代碼!!!如果你想搞開發(fā),不要輕易問別人要源程序,求人不如求己.你連這個芯片如何運作,該如何寫程序都沒有概念就在這兒問人,還直接問人要代碼,給了你那還不是你的.