[求助]程序停在了CH375FileOpen( )

各位大哥們,小弟用C8051F020控制CH375A讀取U盤遇到了些問題。麻煩幫我看一看: 我初始化MP3盤,并且讀取MP3的容量,這些都正常,不過運行到CH375FileOpen( )函數(shù) 時,程序就停止了; 就是這里:(我MP3盤里有這個文件) mCopyCodeStringToIRAM( mCmdParam.Open.mPathName, "http://C51/CH375HFT.C" ); /* 文件名,該文件在C51子目錄下 */ i = CH375FileOpen( ); /* 打開文件 */

我等了幾分鐘,程序都沒有往下運行了;手動停止的時候,程序好像是停在了這個函數(shù):

void xQueryInterrupt( void ) /* 查詢CH375中斷并更新中斷狀態(tài) */ { while ( CH375_INT_WIRE ); /* 如果CH375的中斷引腳輸出高電平則等待 */ CH375_CMD_PORT = CMD_GET_STATUS; /* 獲取當前中斷狀態(tài) */ CH375IntStatus &= 0x80; if ( CH375IntStatus ) CH375IntStatus = 0; /* 操作無意義,用于至少延時2uS */ CH375IntStatus = CH375_DAT_PORT; /* 獲取中斷狀態(tài) */ if ( CH375IntStatus == USB_INT_DISCONNECT ) CH375DiskStatus = DISK_DISCONNECT; /* 檢測到USB設(shè)備斷開事件 */ else if ( CH375IntStatus == USB_INT_CONNECT ) CH375DiskStatus = DISK_CONNECT; /* 檢測到USB設(shè)備連接事件 */ }

程序死在了while ( CH375_INT_WIRE );不過,當我將這個函數(shù)改為:

void xQueryInterrupt( void ) /* 查詢CH375中斷并更新中斷狀態(tài) */ { while ( CH375_INT_WIRE ); /* 如果CH375的中斷引腳輸出高電平則等待 */ CH375_CMD_PORT = CMD_GET_STATUS; /* 獲取當前中斷狀態(tài) */ CH375IntStatus &= 0x80; if ( CH375IntStatus ) CH375IntStatus = 0; /* 操作無意義,用于至少延時2uS */ CH375IntStatus = CH375_DAT_PORT; /* 獲取中斷狀態(tài) */ if ( CH375IntStatus == USB_INT_DISCONNECT ) CH375DiskStatus = DISK_DISCONNECT; /* 檢測到USB設(shè)備斷開事件 */ else if ( CH375IntStatus == USB_INT_CONNECT ) CH375DiskStatus = DISK_CONNECT; /* 檢測到USB設(shè)備連接事件 */ else if ( CH375IntStatus == 0X14 ) CH375DiskStatus = 0XI4; }

程序就很快運行走了;不過返回的i值是0XB3;沒有找到文件; 我有點糊涂了; 麻煩大哥們幫我看一下;我C語言不太好。謝謝大家了;

問題解決了;是MP3有問題;換個MP3就沒事了;


可能你那個MP3有點問題,你可以不可以將你MP3的DBR帖出來看下,也就是MP3的物理0扇區(qū)帖出來看下?


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

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