freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的音樂(lè)播放器設(shè)計(jì)-閱讀頁(yè)

2025-02-02 14:30本頁(yè)面
  

【正文】 lectrical and Computer Engineering . Michigan State University, 2004[16] 沈美明 溫冬嬋 編著IBMPC匯編語(yǔ)言程序設(shè)計(jì) [M](第二版) 北京:清華大學(xué)出版社[17] 佚名 MP3文件格式 [EB] . :2[18] 魏廣寅 VS1003MP3/WMA 音頻解碼器 [S] . 貴陽(yáng)永青儀電科技開發(fā)部[19] VS1003 MP3/WMA AUDIO CODEC 數(shù)據(jù)手冊(cè) [S] . Version , 20050607致謝時(shí)光飛逝,快樂(lè)、充實(shí)、短暫、難忘的大學(xué)生活即將結(jié)束,在這三年半的時(shí)間內(nèi),自己的能力在各方面都有很大的提高,取得的這些進(jìn)步和成績(jī),離不開許多人的幫助和關(guān)心。首先感謝我的導(dǎo)師劉大年老師。他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、對(duì)問(wèn)題深刻的洞察力,也使我獲益良多。感謝測(cè)控0901的各位同學(xué),和他們共同學(xué)習(xí)和工作的日子充滿了歡樂(lè),大家在生活上互相幫助,在學(xué)習(xí)上互相幫助,給我留下了美好的回憶。最后,衷心地感謝所有在百忙中抽出寶貴時(shí)間來(lái)參加論文審閱和答辯的老師。 //first directory clusterDWORD FirstDataSector。 // Bytes per sectorWORD FATsectors。 // Sector per clusterDWORD FirstFATSector。 // The first Dir sectorDWORD RootDirSectors。 // The count of directory in root dirBYTE FAT32_Enable。BYTE (* FAT_WriteSector)(DWORD,BYTE *)。 write single block//wirte sector are not use in this playerBYTE (* FAT_ReadSector)(DWORD sector, BYTE * buffer)=MMC_SD_ReadSingleBlock。//device writestruct FileInfoStruct FileInfo。 struct bpb710 *bpb = 0。 struct partrecord *pr = 0。 DWORD hidsec=0。 Capacity = MMC_SD_ReadCapacity()。 if(FAT_ReadSector(0,buffer))return 2。 pr = (struct partrecord *)((struct partsector *)buffer)psPart。//the hidden sectors if(hidsec = Capacity/512) { hidsec = 0。//read the bpb sector bs = (struct bootsector710 *)buffer。amp。 if(FAT_ReadSector(0,buffer))return 4。 } } if(bsbsJump[0]!=0xE9 amp。 bsbsJump[0]!=0xEB)//對(duì)付沒(méi)有bootsect的sd卡 //dead with the card which has no bootsect { return 5。 if(bpbbpbFATsecs)//detemine thd FAT type //do not support FAT12 { FAT32_Enable=0。//FAT占用的扇區(qū)數(shù) //the sectors number occupied by one fat talbe FirstDirClust = 2。 //FAT32 FATsectors = bpbbpbBigFATsecs。 } BytesPerSector = bpbbpbBytesPerSec。//每簇扇區(qū)數(shù) FirstFATSector = bpbbpbResSectors+hidsec。//根目錄項(xiàng)數(shù) RootDirSectors = (RootDirCount*32)9。//第一個(gè)目錄扇區(qū) FirstDataSector = FirstDirSector+RootDirSectors。}//讀一個(gè)簇中的一個(gè)扇區(qū)//read one sector of one cluster, parameter part indicate which sectorunsigned char FAT_LoadPartCluster(unsigned long cluster,unsigned part,BYTE * buffer){ DWORD sector。//calculate the actual sector number if(FAT_ReadSector(sector+part,buffer))return 1。}//讀下一簇簇號(hào)//Return the cluster number of next cluster of file//Suitable for system which has limited RAMunsigned long FAT_NextCluster(unsigned long cluster){ BYTE buffer[512]。 DWORD offset。 else offset = cluster/256。 sector=FirstFATSector+offset。//read fat table / return 0xfff8 when error occured if(FAT32_Enable) { offset=cluster%128。 } else { offset=cluster%256。 } return (unsigned long)sector。 DWORD tempclust。 unsigned char t。 unsigned char i。 if((cluster==0) amp。 (FAT32_Enable == 0))// root directory { buffer=malloc(512)。//if failed for(t=0。t++) { if(FAT_ReadSector(FirstDirSector+t,buffer)){free(buffer)。} for(offset=0。offset+=32) { item=(struct direntry *)(amp。 if((itemdeName[0] != 0x00) amp。 (itemdeName[0] != 0xe5) amp。 (itemdeAttributes != 0x0f)) { for(i=0。i++) { if(buffer[offset+i]!=name[i])break。//don39。 FileInfoAttr = itemdeAttributes。 FileInfoOffset = offset。 return 0。//release } else//other folders { tempclust=cluster。//calculate the actual sector number buffer=malloc(512)。//if failed for(t=0。t++) { if(FAT_ReadSector(sector+t,buffer)){free(buffer)。} for(offset=0。offset+=32) { item=(struct direntry *)(amp。 if((itemdeName[0] != 0x00) amp。 (itemdeName[0] != 0xe5) amp。 (itemdeAttributes != 0x0f)) { for(i=0。i++) { if(buffer[offset+i]!=name[i])break。//don39。 FileInfoAttr = itemdeAttributes。 FileInfoOffset = offset。 return 0。//release tempclust=FAT_NextCluster(tempclust)。amp。 } } return 1。 BYTE *p=dir。 BYTE i,j。 if(FAT32_Enable)cluster = FirstDirClust。\\39。//invalid path while(*p) { if(*p == 39。) { deep++。 } p=dir。ideep1。 for(j=0。j++)name[j]=0x20。 while(*p != 39。) { if((*p) = 39。 amp。 (*p) = 39。)name[j] = (*p++)0x20。 j++。FileInfo))return 1。 } p++。j11。 j=0。a39。amp。z39。 else name[j]=*p++。 } if(j == 0)return cluster。FileInfo))return 1。 return cluster。 for(i=0。i++)DestideName[i] = SourcedeName[i]。i3。 DestideAttributes = SourcedeAttributes。 DestideCHundredth = SourcedeCHundredth。i2。 for(i=0。i++)DestideCDate[i] = SourcedeCDate[i]。i2。 DestideHighClust = SourcedeHighClust。i2。 for(i=0。i++)DestideMDate[i] = SourcedeMDate[i]。 DestideFileSize = SourcedeFileSize。 //BYTE buff[3]。 DWORD cluster。 unsigned char t。 unsigned int i=0。 cluster = FAT_OpenDir(dir)。 if(cluster==0 amp。 FAT32_Enable==0)// root directory { buffer=malloc(512)。//if failed for(t=0。t++) { if(FAT_ReadSector(FirstDirSector+t,buffer)){free(buffer)。} for(offset=0。offset+=32) { item=(struct direntry *)(amp。//pointer convert //find a valid item and display it if((itemdeName[0] != 39。) amp。 (itemdeName[0] != 0x00) amp。 (itemdeName[0] != 0xe5) amp。 (itemdeAttributes != 0x0f)) { if((itemdeExtension[0] == 39。)amp。(itemdeExtension[1] == 39。)amp。(itemdeExtension[2] == 39。)) { CopyDirentruyItem(MusicInfo,item)。 i++。return 0。W39。amp。M39。amp。A39。 *type=2。 if(i==*Count){free(buffer)。} } else if((itemdeExtension[0] == 39。)amp。(itemdeExtension[1] == 39。)amp。(itemdeExtension[2] == 39。)) { CopyDirentruyItem(MusicInfo,item)。 i++。return 0。W39。amp。A39。amp。V39。 *type = 4。 if(i==*Count){free(buffer)。} } } } } free(buffer)。 while(1) { sector=FirstDataSector+(DWORD)(tempclust2)*(DWORD)SectorsPerClust。//apply memory if(buffer==0)return 1。tSectorsPerClust。return 1。offset512。buffer[offset])。.39。amp。amp。amp。M39。amp。P39。amp。33
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1