📄 dec_main.c
字号:
#ifdef L320x240
Set_System_Clk(SC96M);
#else
if(FILE_INFO.HEADER.BitRate > 192)
Set_System_Clk(SC96M);
else
Set_System_Clk(SC48M);
#endif
write_XDATA(BRESET, ALLRESET);
// buffer 0 address
Return_Buffer_Pos(DMA0);
Return_Buffer_Pos(DMA1);
Return_Buffer_Pos(DMA2);
Return_Buffer_Pos(DMA3);
// Set_ADC();
}
void Reserve_Code(UINT8 code_mode)
{
CodeChange(code_mode);
}
void main(void)
{
System_Initial(); //System Initialize
Variable_Initial(); //Variable Initialize
key_init(); // Key Flag Initialize
#ifdef L320x240
UART_Init(SC96M, 0);
#else
if(FILE_INFO.HEADER.BitRate > 192)
UART_Init(SC96M, 0);
else
UART_Init(SC48M, 0);
#endif
printf("DEC_INIT\n");
EA = ENABLE;
WRITE_PROTECT_ON;
Set_DMA_Break_Count(0x00ffffff);
Remap_Var_Init();
get_FAT_init();
main_mode_file_ext();
Mp3_Mute_On();
#ifdef TLV320B
AIC_mute();
#endif
decode_state = FuncInMode;
#ifdef BEEP_RUN
while(!USB_ON){
printf("Beep_START\n");
Play_MP3_Beep(1);
printf("Beep_END\n");
}
#endif
while(TRUE) {
switch(decode_state) {
case DECODE_STATE:
if(Is_LRC_file != LYRIC_NO){
#ifdef LYRIC_FUNC
InitLyricTimeStamp(1);
#endif
#if defined L128x128
#elif defined L96x64
#endif
}
if(sub_mode_in_play == DEC_MENU){
check_10SEC_start = 1;
time10 = T10S;
#ifdef MENU_ANIMATION
ani_start = 0;
#endif
#ifndef ROCKCHIP_VER
display_update = 0;
#else
/*
if ((repeat_mode == 5) && (menu_depth == 2) && (menu_position[0] == MENU_MODE_SETTING)&& (menu_position[1] == MENU_PLAY_MODE))
display_update = 1;
else
display_update = 0;*/
display_update = 1;
#endif
SetMaxPos();
MENU_IMAGE_INFO.Info.byte = Menu_image_Byte;
MENU_IMAGE_INFO.size = *Menu_image_size;
MENU_IMAGE_INFO.pos = *Menu_image_pos;
cur_menu_section = cur_menu_sec_tmp;
#if defined L128x128 || defined L320x240
LoadBackGroundColor(IMG_NAV_BG_BACKGROUND);
#endif
}
else if(sub_mode_in_play == DEC_NAV){
check_10SEC_start = 1;
time10 = T10S;
display_update = 0;
if(!NAV_CUR_DIR.depth || (PBmode != NO_ACT))
display_cur_in_section = NAV_Display.cur % LCD_TOTAL_PAGE;
else
display_cur_in_section = (NAV_Display.cur-2) % LCD_TOTAL_PAGE;
#if defined L128x128 || defined L320x240
LoadBackGroundColor(IMG_NAV_BG_BACKGROUND);
#endif
}else{
if(sub_mode_in_play == DEC_PAUSE){
sub_mode_in_play = DEC_DEC;
#ifdef NETSYNC_INCLUDE
netsync_resume = 1;
#endif
}
if(sub_mode_in_play == DEC_DEC) {
if(Is_LRC_file != LYRIC_YES_DIS_YES){
#if defined L128x128 || defined L320x240
LcdDisplayImage(IMG_MP3_BG);
LoadBackGroundColor(IMG_MP3_BG_BACKGROUND);
UI_DISPLAY(UI_FILETYPE, file_type);//MP3
#elif defined L96x64
LcdDisplayImage(IMG_MP3_BACK_PAPER, 0, 0, 96, 64);
LoadBackGroundColor(IMG_MP3_BACKGROUND);
#elif defined ML128x64
LcdAllClear();
#endif
}
else{
#if defined L128x128 || defined L320x240
LcdDisplayImage(IMG_LYRIC_BG);
LoadBackGroundColor(IMG_LYRIC_BG_BACKGROUND);
#endif
}
UI_DISPLAY(UI_BATTERY, Check_BAT());
UI_DISPLAY(UI_VOLUME, volume_value);
#ifdef FIVE_KEY_VER
LcdDisplayImage(IMG_VOLUME);
#endif
if(Is_LRC_file != LYRIC_YES_DIS_YES){
#if defined ML128x64
UI_DISPLAY(UI_FILETYPE, file_type);//MP3
#endif
UI_DISPLAY(UI_TRACK, DONTCARE);
UI_DISPLAY(UI_EQ,eq_mode);
UI_DISPLAY(UI_PLAYMODE,ICON_PLAY);
UI_DISPLAY(UI_REPEAT,repeat_mode);
UI_DISPLAY(UI_BITRATE, DONTCARE);
if(CUR_DIR_NAME.info == 1){//Long Entry曼炼
Get_LongDirName(IMAGE_BUFF1);
}else{//Short Entry曼炼
Get_ShortDirName(IMAGE_BUFF1);
}
#if defined L320x240
Lcd_Dis_Dir(44, IMAGE_BUFF1, F_WHITE);
#elif defined L128x128
Lcd_Dis_Dir(21, IMAGE_BUFF1, F_WHITE);
#elif defined L96x96
Lcd_Dis_Dir(21, IMAGE_BUFF1, F_BLACK);
#elif defined L96x64
#elif defined MONO_LCD
LcdDisplayImage(IMG_PMODE_MUSIC);
Lcd_Dis_Dir(2, IMAGE_BUFF1, F_WHITE);
#endif
scrolltitle(SCROLL_PAGE1, 0, BG_COLOR, F_WHITE);
scrolltitle(SCROLL_PAGE2, 1, BG_COLOR, F_WHITE);
}
else {
#if defined L320x240
UI_DISPLAY(UI_TRACK, DONTCARE);
UI_DISPLAY(UI_EQ,eq_mode);
UI_DISPLAY(UI_PLAYMODE,ICON_PLAY);
UI_DISPLAY(UI_REPEAT,repeat_mode);
UI_DISPLAY(UI_BITRATE, DONTCARE);
UI_DISPLAY(UI_FILETYPE, file_type);//mp3
#endif
}
}
}
#ifdef CLASS_D_AMP
#else
#ifdef TLV320B
AIC_Initial(0x0017, 0x0067);
#else
if(codec_ctrl)
Codec_DEC_Initial1();
#endif
#endif
printf("MP3_START\n");
decode_state = MP3_Decoding();
Mp3_Mute_On();
break;
case FF_REW_STATE:
if(sub_mode_in_play == DEC_LRC){
sub_mode_in_play = DEC_DEC;
}
else if(sub_mode_in_play == DEC_MENU) {
Menu_image_Byte = MENU_IMAGE_INFO.Info.byte;
*Menu_image_size = MENU_IMAGE_INFO.size;
*Menu_image_pos = MENU_IMAGE_INFO.pos;
cur_menu_sec_tmp = cur_menu_section;
}
FuncInMode = DECODE_STATE;
Reserve_Code(CHANGE_ID3_MODE);
break;
case MODE_EXIT_STATE:
default://exception!
#ifdef IDLE_STOP_MODE
if(FuncInMode == PAUSE_STATE){
ff_rew_course = CURRENT;
FuncInMode = INIT_STATE;
Reserve_Code(CHANGE_ID3_MODE);
}
#endif
#ifdef TLV320B
AIC_Close();
#endif
switch(gIsMain_Mode) {
case MAIN_MODE_MOVIE_INIT:
PBmode = NO_ACT;
FuncInMode = IDLE_STATE;
Reserve_Code(CHANGE_IDLE_MODE);
break;
case MAIN_MODE_DEC:
#ifdef MMC_SUPPORT
if(FuncInMode == CHANGE_MEDIA_STATE){// Media Change
PBmode = NO_ACT;
// gIsMain_Mode = MAIN_MODE_DEC;
if(Media_Select == MMC_SEL){
FuncInMode = CHANGE_MEDIA_STATE;
Reserve_Code(CHANGE_MMCIDLE_MODE);
}
}else
#endif
if(PBmode != NO_ACT){
ff_rew_course = CURRENT;
#ifdef IDLE_STOP_MODE
FuncInMode = INIT_STATE;
Reserve_Code(CHANGE_ID3_MODE);
#else
FuncInMode = NAV_STATE;
Reserve_Code(CHANGE_NAV_MODE);
#endif
}
else if(FuncInMode == DECODE_STATE) {
#ifdef IDLE_STOP_MODE
FuncInMode = IDLE_STATE;
Reserve_Code(CHANGE_PWON_MODE);
#else
FuncInMode = NAV_STATE;
Reserve_Code(CHANGE_NAV_MODE);
#endif
}
else{
xdata UINT8 *DMA_SECTOR_BUFF0 = ((unsigned char volatile xdata *)(BUFFER1+0x10000));
// sub_mode_in_play = DEC_DEC;
if(FuncInMode == POWER_OFF_STATE){
Reserve_Code(CHANGE_IDLE_MODE);
}
else if(FuncInMode==BOOKMARK_STATE){
sub_mode_in_play = DEC_PAUSE;
getDirShortEntry(TRACK_INFO.folder_cur, USED_DIR, &CUR_DIR, 0);
memcpy( &(DMA_SECTOR_BUFF0[0]), &DirInfo, sizeof(_fat_dirinfo));
ff_rew_course = CURRENT;
Reserve_Code(CHANGE_NAV_MODE);
}else if(FuncInMode==PLAYLIST_STATE){
sub_mode_in_play = DEC_PAUSE;
memcpy( &(DMA_SECTOR_BUFF0[0]), &playListFile, sizeof(PLAYLIST_ENTRY));
ff_rew_course = CURRENT;
Reserve_Code(CHANGE_NAV_MODE);
}else if(FuncInMode==USB_STATE){
Reserve_Code(CHANGE_IDLE_MODE);
}else{
ff_rew_course = CURRENT;
#ifdef IDLE_STOP_MODE
FuncInMode = IDLE_STATE;
Reserve_Code(CHANGE_PWON_MODE);
#else
FuncInMode = NAV_STATE;
Reserve_Code(CHANGE_NAV_MODE);
#endif
}
}
break;
case MAIN_MODE_FM:
FuncInMode = FM_STATE;
Reserve_Code(CHANGE_FM_MODE);
break;
case MAIN_MODE_REC_VOICE:
case MAIN_MODE_REC_LINEIN:
FuncInMode = IDLE_STATE;
Reserve_Code(CHANGE_IDLE_MODE);
break;
case MAIN_MODE_PHOTO_INIT:
gIsMain_Mode = MAIN_MODE_PHOTO_INIT;
Reserve_Code(CHANGE_PHOTO_MODE);
break;
case MAIN_MODE_TEXT_INIT:
gIsMain_Mode = MAIN_MODE_TEXT_INIT;
Reserve_Code(CHANGE_TEXT_MODE);
break;
case MAIN_MODE_GAME:
gIsMain_Mode = MAIN_MODE_GAME;
Reserve_Code(CHANGE_GAME_MODE);
break;
}
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -