我用的貴公司CH375V片子。使用過程中發(fā)現(xiàn)執(zhí)行命令CMD_DISK_INIT做U盤初始化時CH375的P1(INT)腳一直不來中斷。操作步驟如下: 1。發(fā)命令CMD_CHECK_EXIST檢查工作狀態(tài),返回數(shù)據(jù)確實已經(jīng)按位取反 2。發(fā)命令CMD_RESET_ALL硬件復(fù)位 3。發(fā)命令CMD_SET_USB_MODE設(shè)置工作模式6 4。檢測U盤連接,返回15H 5。發(fā)命令CMD_DISK_INIT始U盤初始化, 此時CH375的P1(INT)腳一直不來中斷,因此程序一直在while循環(huán)里等中斷。奇怪的是這時程序只要暫停一下,中斷就來了,繼續(xù)運行用CMD_GET_STATUS命令讀回中斷狀態(tài)字是14H,這就正常初始化了。
我用CMD_GET_STATUS命令檢查U盤出錯狀況,結(jié)果返回中斷狀態(tài)字1F,表示USB 存儲設(shè)備操作失敗。用CMD_DISK_READ命令檢查U盤是否準備好也返回1F
請問各位高手版主們啊,這時什么問題??? 謝謝謝謝!! 已經(jīng)折磨我很久了...... 代碼如下:
cmd(CMD_CHECK_EXIST); // 檢查375工作與否 wrd(0xee); // 向375寫數(shù)據(jù) stat_Check=re(); cmd(CMD_RESET_ALL); //硬件復(fù)位 delay(40); cmd(CMD_SET_USB_MODE); //375初始化,設(shè)置模式 wrd(0x06); _NOP(); while(WaitINT_USBConct()!=USB_INT_CONNECT); // u盤插上與否,WaitINT_USBConct()函數(shù)讀中斷,返回15H delay(400); cmd( CMD_DISK_INIT ); // u盤初始化 stat_Disk=WaitINT_DiskInit();// 這里出錯,一直在while等中斷,中斷不停不來:((