⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileio.h

📁 e1c0df5d-c8bc-48a5-bc02-a2b7c51c0dbf是做mp3的源代码
💻 H
字号:
#ifndef _FILEIO_H#define _FILEIO_H#include <avr/io.h>#include <avr/interrupt.h>#include <inttypes.h>#include <string.h>#include <stdlib.h>#include <avr/pgmspace.h>#include <avr/wdt.h>#include "const.h"#ifndef MMC#include "compact.h"#else#include "mmc.h"#endif#include "lcd.h"// ID3 tag types#define TPE1 1#define TALB 2#define TRCK 3#define TIT2 4extern unsigned long fatstart, rootdir, data, maxsect, dirfilesize, playlistlength;extern unsigned char secpercluster, attrib;extern unsigned int heads, sectors_per_track, dircluster, filecluster, playtime;extern unsigned int playlistptr, playlistcl;extern unsigned char filename[50];extern unsigned char artalb[50];extern unsigned char dirname[16];extern unsigned char lcd_upd, file_bitrate;extern char artalbpos, titlepos, artalbdir, titledir, scrolltimer;static unsigned char bitrate[] __attribute__ ((progmem)) = {4, 4, 4, 4, 4, 1,  8, 6, 5, 8, 6, 2,  12, 7, 6, 12, 7, 3,  16, 8, 7, 16, 8, 4,  20, 10, 8, 20, 10, 8,  24, 12, 10, 24, 12, 10,  28, 14, 12, 28, 14, 7,  32, 16, 14, 32, 16, 8,  36, 20, 16, 36, 20, 16,  40, 24, 20, 40, 24, 20,  44, 28, 24, 44, 28, 14,  48, 32, 28, 48, 32, 16,  52, 40, 32, 52, 40, 32,  56, 48, 40, 56, 48, 40};struct __attribute__((packed)) boot_record{unsigned char jump[3];unsigned char oem[8];unsigned int bytes_per_sector;unsigned char sectors_per_cluster;unsigned int reserved_sectors;unsigned char number_of_fats;unsigned int root_direntries;unsigned int small_sects;unsigned char media_desc;unsigned int sec_per_fat;unsigned int sec_per_track;unsigned int num_heads;unsigned long num_hidden_sec;unsigned long sec_per_part;unsigned int logical_nr;unsigned char ext_signature;unsigned long serial_no;unsigned char volume_label[11];unsigned char fat_name[8];unsigned char exec[448];unsigned int exec_mark;};struct __attribute__((packed)) attr{int read_only: 1;int hidden: 1;int system: 1;int volume_label: 1;int directory: 1;int archive: 1;int reserved: 2;};struct __attribute__((packed)) entry{  unsigned char filename[8];  unsigned char ext[3];  unsigned char attribute;  unsigned char res;  unsigned char timestamp;  unsigned long creation;  unsigned int last_access;  unsigned int ea_index;  unsigned long mod_time;  unsigned int filecluster;  unsigned long filesize;};#ifdef MMC	// wrapper for MMC_Read for checking lba <= maxsectunsigned char MMC_Read_Wrapper(unsigned long lba);#endifint get_disk_parms();				// fetch cf parameter & fatunsigned int get_next_cluster(unsigned int lastcl);		// locates next file clusterunsigned int get_next_direntry(unsigned int dircluster, unsigned int num, char dir, unsigned char type, unsigned char get_id3);unsigned char get_next_playlist_entry(unsigned char playlistid, char dir);unsigned char get_lfn(unsigned int dirid);void get_id3_info(unsigned int startcl);char parse_tag(unsigned long * offs, unsigned char * buffer);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -