我在做一個MP3,單片機是STc12C5A60S2,51內(nèi)核的?,F(xiàn)在是用CH375HF4.LIB,也就是總線控制CH375.這樣能播放320Kbps的MP3文件,很流暢。但是用CH375HFC.LIB ,IO模擬總線,播放320Kbps的就會有一點卡。MP3播放部分的程序是一樣的。
本身對于51單片機來說,模擬總線的時序就比總線時序慢,同時使用HFC.LIB文件,這個LIB文件主要的變量全部定義為外部變量,在單片機運行的時候速度也會降低。
用IO模擬的播放256k的MP3也是很流暢的。難道就差了這么一點速度?有沒有一些改進的辦法,因為IO我想自己定義,方便其他外設(shè)的接入。
那你使用LIB5的庫,同時在讀寫子函數(shù)部分建議你使用嵌匯編進行速度優(yōu)化。
好的,我再試試
/* FAT數(shù)據(jù)區(qū)中文件目錄信息 */ typedef struct _FAT_DIR_INFO { UINT8 DIR_Name[11]; /* 00H,文件名,共11字節(jié),不足處填空格 */ UINT8 DIR_Attr; /* 0BH,文件屬性,參考前面的說明 */ UINT8 DIR_NTRes; /* 0CH */ UINT8 DIR_CrtTimeTenth; /* 0DH,文件創(chuàng)建的時間,以0.1秒單位計數(shù) */ UINT16 DIR_CrtTime; /* 0EH,文件創(chuàng)建的時間 */ UINT16 DIR_CrtDate; /* 10H,文件創(chuàng)建的日期 */ UINT16 DIR_LstAccDate; /* 12H,最近一次存取操作的日期 */ UINT16 DIR_FstClusHI; /* 14H */ UINT16 DIR_WrtTime; /* 16H,文件修改時間,參考前面的宏MAKE_FILE_TIME */ UINT16 DIR_WrtDate; /* 18H,文件修改日期,參考前面的宏MAKE_FILE_DATA */ UINT16 DIR_FstClusLO; /* 1AH */ UINT32 DIR_FileSize; /* 1CH,文件長度 */ } FAT_DIR_INFO; /* 20H */ typedef FAT_DIR_INFO xdata *P_FAT_DIR_INFO;
我想問一下,當(dāng)我打開一個文件成功的時候,頭文件里的這個結(jié)構(gòu)體變量,是不是就自動更新成了當(dāng)前打開文件的信息?
是的 結(jié)構(gòu)體里保存了當(dāng)前打開目錄的信息