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

📄 user_main.lst

📁 智原mp3 SDK 开发包 与巨力 有mp3 wma ogg decoder
💻 LST
📖 第 1 页 / 共 2 页
字号:
 190          {
 191   1              UINT16 data ptime;
 192   1              UINT8 i;
 193   1      
 194   1              if(curr_screen->id == SCREEN_MP3 && screen_level == SCREEN_LEVEL_MUSIC_PLAY)
 195   1                      play_time_update(1);
 196   1              
 197   1              if(usb_plug)
 198   1              {
 199   2                      ui_show_charge();               
 200   2              }                                               
 201   1              
 202   1              if(batt_count++ > 6 )
 203   1              {
 204   2                      batt_count = 0;
 205   2                      if(!usb_plug)
 206   2                              ui_show_batt(); 
 207   2                      if(curr_screen->id == SCREEN_MP3 && screen_level == SCREEN_LEVEL_MUSIC_PLAY && (!lyric_on))
 208   2                              vLcd_ScollDataUpdate();
 209   2              }
 210   1              
 211   1              if(api_u8GetBatteryRemain() <= BATTERY_LEVEL_20)
 212   1              {
 213   2                      low_batt_count++;
 214   2              }       
 215   1              else 
 216   1              {
 217   2                      low_batt_count = 0;
 218   2              }       
 219   1              if(low_batt_count==6) //shut down
 220   1              {                           
 221   2                      close_volume();
 222   2                      bResShowPic(LOWPOWER,0,0);
 223   2                      delay(20000);
 224   2                      //delay(10000);
 225   2                      vShutDown();            
 226   2              }
 227   1                      
 228   1      
 229   1              if(vol_flag && curr_screen->id == SCREEN_MP3)
 230   1              {
 231   2                      if(_flash)
 232   2                      {
 233   3                              _flash = 0;
 234   3                              bResShowPic(MVOL_CLR,66,144);
 235   3                              
 236   3                      }
 237   2                      else 
 238   2                      {
C51 COMPILER V7.50   USER_MAIN                                                             08/18/2008 13:43:43 PAGE 5   

 239   3                              _flash = 1;
 240   3                              ui_show_vol();  
 241   3                      }
 242   2              }
 243   1      
 244   1              if(curr_screen->id == SCREEN_MP3 && lyric_on) 
 245   1              {       
 246   2                      ptime = (UINT16)api_u32GetPlayingTime();
 247   2                      
 248   2                      if(curr_lyric_time != ptime) {                                          
 249   3                              if(pSec2LrcStr[ptime] != 0xff) {
 250   4                                      bResShowPic(LRCBG,6,32);
 251   4                                      bg_color = COLOR_BLACK;
 252   4                                      gfx_set_bg(COLOR_BLACK);        
 253   4                                      lcd_max_str = 12;
 254   4                                      for(i=0; i<16; i++)   //show first line
 255   4                                              _buf[i] = u8LrcStr[pSec2LrcStr[ptime]][i];      
 256   4                                      _buf[LCD_WIDTH] = 0;   
 257   4                                      lcd_puts(16,60,_buf,FONTSIZE_HYPER);    
 258   4                                                                      
 259   4                                      for(i=0; i<16; i++)   //show next line
 260   4                                              _buf[i] = u8LrcStr[pSec2LrcStr[ptime]+1][i];    
 261   4                                      _buf[LCD_WIDTH] = 0;  
 262   4                                      lcd_puts(16,40,_buf,FONTSIZE_HYPER); 
 263   4                                      
 264   4                              }
 265   3                              curr_lyric_time = ptime;
 266   3                      }
 267   2      
 268   2              }
 269   1              else
 270   1              {
 271   2      
 272   2                      if(curr_screen->id == SCREEN_MP3 && screen_level == SCREEN_LEVEL_MUSIC_PLAY)
 273   2                      {                       
 274   3                              bResShowPic(RPLAY1+cartoon_count++,2,51);
 275   3                              if(cartoon_count>=12)
 276   3                                      cartoon_count = 0;
 277   3                      }
 278   2                                      
 279   2      
 280   2              }       
 281   1              vKeyTimeOut();
 282   1      }
 283          
 284          void event_dsp_exception(void)
 285          {
 286   1      #if 0   
                      if((curr_screen->id == SCREEN_MOVIE && screen_level == SCREEN_LEVEL_MOVIE_PLAY) ||
                         (curr_screen->id == SCREEN_PICTURE && screen_level == SCREEN_LEVEL_JPEG_DISP)) {
                              Print("Fmt err\n");
                              lcd_set_rw_area(SCREEN_START_X, SCREEN_START_Y, SCREEN_WIDTH, SCREEN_HEIGHT);
                              key_process(KEY(NEXT));
                      }
              #endif  
 294   1      }
 295          
 296          void event_loop_epilog(void)
 297          {               
 298   1      #if 1
 299   1              if(/*curr_screen->id == SCREEN_MP3 && */screen_level == SCREEN_LEVEL_MUSIC_PLAY ) {
 300   2                      if(eSysState == STATE_IDLE) {                   
C51 COMPILER V7.50   USER_MAIN                                                             08/18/2008 13:43:43 PAGE 6   

 301   3                                      key_process(KEY(EOS));
 302   3                      }
 303   2              }       
 304   1      #endif
 305   1      }
 306          
 307          void event_init_startup(void)
 308          {
 309   1      #ifndef CONFIG_NAND_LARGEPAGE   
                      /* Nothing, just for demo "api_vGetFreeXdataInfo()" in small page flash. */
                      INT16U free_size, free_start;
                      
                      api_vGetFreeXdataInfo(&free_size, &free_start);
                      free_mem_ptr = free_start;
                      free_mem_end_ptr = free_mem_ptr + free_size;
                      
                      file_entry = (INT32U *)my_malloc(FILE_ENTRY_MAX * sizeof(UINT32));
              #endif  
 319   1              api_vKeyMapRegister(key_map);    
 320   1              api_vSetPassCount(20);
 321   1              api_vBatteryLevelRegister(battery_map);
 322   1              
 323   1              api_bLoadPreferenceData((void*)(&tUserPreference),sizeof(USER_PREFERENCE_T));         
 324   1      
 325   1              if(tUserPreference.u8LanguageId>4 || tUserPreference.u8LanguageId == 0)  
 326   1                      api_bSetLanguage(0);
 327   1              else 
 328   1                      api_bSetLanguage(tUserPreference.u8LanguageId);  
 329   1              
 330   1              if(api_bChangeDisk(DISK_SD))
 331   1                      have_sd = 1;
 332   1              else
 333   1                      have_sd = 0;
 334   1                      
 335   1              api_bChangeDisk(DISK_NAND);
 336   1       
 337   1              eSysState = STATE_IDLE;
 338   1              u16TimerCount = 0;
 339   1              cartoon_count = 1;
 340   1              low_batt_count = 0;    
 341   1              gui_init();
 342   1              screen_level = SCREEN_LEVEL_MUSIC_STOP;
 343   1              screen_map(SCREEN_MP3);
 344   1      }
 345          
 346          
 347          typedef void event_handler(void);
 348          
 349          static code event_handler *handlers[] = {
 350                  event_init_startup,             // EVENT_INIT_STARTUP
 351                  NULL,                           // EVENT_WATCHDOG_UP
 352                  NULL,                           // EVENT_LOOP_PROLOG
 353                  event_loop_epilog,              // EVENT_LOOP_EPILOG
 354                  NULL,                           // EVENT_OCTANT_SEC
 355                  event_quarter_sec,              // EVENT_QUARTER_SEC
 356                  event_usb_cable_in,             // EVENT_USB_CABLE_IN
 357                  NULL,                           // EVENT_USB_CABLE_OUT
 358                  NULL,                           // EVENT_USB_CABLE_OUT
 359                  event_card_change,              // EVENT_CARD_CHANGE
 360                  event_long_button,              // EVENT_LONG_BUTTON
 361                  event_short_button,             // EVENT_SHORT_BUTTON
 362                  event_button_release,           // EVENT_BUTTON_RELEASE
C51 COMPILER V7.50   USER_MAIN                                                             08/18/2008 13:43:43 PAGE 7   

 363                  event_dsp_exception,            // EVENT_DSP_EXCEPTION
 364          };
 365          
 366          void user_main(UINT8 event, UINT8 argv)
 367          {
 368   1              event_argv = argv;
 369   1              event -= 0x80;
 370   1      
 371   1              if(handlers[event])
 372   1                      (*handlers[event])();
 373   1      }
 374          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    787    ----
   CONSTANT SIZE    =     92    ----
   XDATA SIZE       =      9    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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