void read_file(void);
void goto_menu(void);
int main(void)
{
delay_init(72); //延时函数初始化
uart_init(9600); //串口初始化为9600
Init_LCD();
KEY_Init(); //按键初始化
Audiosel_Init(); //初始化音源选择
mem_init(SRAMIN); //初始化内部内存池
VS_Init();
exfuns_init(); //为fatfs相关变量申请内存
f_mount(0,fs[0]); //挂载SD卡
f_mount(1,fs[1]); //挂载FLASH.
goto_menu();
}
void read_file(void)
{
FIL fmp3;
u16 br;
u8 res,number;
BYTE databuf[512];
u16 a=0;
char str[25]={0,};
u8 key=0;
u16 index=0;
while(!(key==3))
{
key=KEY_Scan(0);
LCD_num(5,5,index,0,2);
if(key==1)number++;
if(key==2&&number>0) number--;
snprintf(str,24, "0:RECORDER/REC%05d.wav",number);
LCD_write_String(0,4,(u8 *)str+11,0);
}
res=f_open(&fmp3,str,FA_READ);//打开文件
if(!res)
{
br=1;
a=0;
for (;;)
{
for(a=0; a<512; a++) databuf[a]=0;
res=f_read(&fmp3,databuf,512,(UINT*)&br);//读出4096个字节
for(a=0; a<512; a++)
{ printf("%x\r",databuf[a]); //打印LCD ID
} printf("%x\r\n","000010000");
if (res || br < sizeof(databuf)) break; // error or eof
}
}
else LCD_write_String(0,4,"NO the file...",0);
f_close(&fmp3);
}
/****************************菜单********************************************/
void goto_menu(void)
{
u8 key_test;
LCD_clear();
LCD_write_String(0,0,"KEY1=recoder ",0);
LCD_write_String(0,1,"KEY2=mp3_play",0);
LCD_write_String(0,2,"KEY3=PC_USART",0);
while(1)
{
while(!key_test)
{ key_test=KEY_Scan(0);
if(key_test)
{ LCD_clear();
if(key_test==1) LCD_write_String(0,1,"you ->recoder ",0);
else if(key_test==2) LCD_write_String(0,1,"you ->mp3_play",0);
else if(key_test==3) LCD_write_String(0,1,"you -> C_USART",0);
}
}
delay_ms(800);
LCD_clear();
Audiosel_Set(0); //MP3通道
LCD_write_String(0,1,"RAM TEST",0);
VS_Ram_Test();
LCD_write_String(0,1,"SINETEST",0);
VS_Sine_Test();
LCD_write_String(0,1,"WAVETEST",0);
LCD_clear();
if(key_test==1) recoder_play();
if( key_test==2) mp3_play();
if(key_test==3) read_file();
}[/mw_shl_code] |