ch376操作sd卡,初始化磁盤能通過,返回0x14,打開文件就不行,沒有返回值,中斷用INT#引腳,Query376Interrupt( )老返回0x02,然后就卡在此處不運行了,請大家給指點迷津
CH376初始化也能通過,模擬SPI方式通訊正常,說明我的硬件接的沒問題吧?
已回復郵件!
呵呵,謝謝!郵件已收到! 我又重試了一下程序,發(fā)現(xiàn)CH376SendCmdWaitInt(CMD0H_DISK_MOUNT)能通過,但是s= CH376SendCmdWaitInt(CMD0H_FILE_OPEN)就不能通過了,測試程序如下: while(1) { mDelaymS( 200 ); /* 延時,可選操作,有的USB存儲器需要幾十毫秒的延時 */ for ( s = 0; s < 10; s ++ ) /* 最長等待時間,10*50mS */ { mDelaymS( 50 ); s=CH376DiskMount( ); //能返回0x14 if (CH376DiskMount( ) == USB_INT_SUCCESS ) break; /* 初始化磁盤并測試磁盤是否就緒 */ } s= CH376SendCmdWaitInt(CMD0H_DISK_MOUNT); //單步運行能通過 s= CH376SendCmdWaitInt(CMD0H_FILE_OPEN); //單步運行不能通過,而且沒有返回值 s = CH376FileOpen( "/MY_ADC.TXT" ); /* 打開文件,該文件在根目錄下 */
}
看來程序能響應CMD0H_DISK_MOUNT初始化磁盤的命令,而不能響應CMD0H_FILE_OPEN這條命令的中斷,打開文件這條命令還跟什么有關系啊?為什么能等到磁盤初始化的中斷,不能等到打開文件的中斷???等待中斷的程序都是一樣的 CH376SendCmdWaitInt(CMD0H_FILE_OPEN)即使不能通過,也應該有返回值啊