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

📄 user_main.lst

📁 智原mp3 SDK 开发包 与巨力 有mp3 wma ogg decoder
💻 LST
字号:
C51 COMPILER V7.50   USER_MAIN                                                             07/17/2008 14:38:51 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE USER_MAIN
OBJECT MODULE PLACED IN ..\output\user_main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\src\user_main.c LARGE OPTIMIZE(9,SIZE) BROWSE INCDIR(..\..\..\bsp\includ
                    -e;..\src\include;..\..\include) DEFINE(CONFIG_ASIC) DEBUG OBJECTEXTEND PRINT(.\user_main.lst) OBJECT(..\output\user_main
                    -.obj)

line level    source

   1          /*
   2           *      user_main.c
   3           *
   4           *      User Code Entry Function
   5           *
   6           *              Copyright (c) FARADAY, All Right Reserved 2006
   7           *
   8           *      Created by:     K.J. Lin <kjlin@faraday-tech.com>
   9           *
  10           */
  11          #include <stdio.h>
  12          #include "api.h"
*** WARNING C318 IN LINE 12 OF ..\src\user_main.c: can't open file 'api.h'
  13          #include "lcd.h"
*** ERROR C129 IN LINE 102 OF ..\..\INCLUDE\LCD.H: missing ';' before 'lcd_max_str'
  14          #include "key.h"
  15          #include "common.h"
*** WARNING C318 IN LINE 5 OF ..\..\INCLUDE\COMMON.H: can't open file 'types.h'
  16          #include "ap_common.h"
  17          #include "display.h"
*** WARNING C318 IN LINE 4 OF ..\..\INCLUDE\DISPLAY.H: can't open file 'types.h'
  18          #include "res_show.h"
  19          #include "res.h"
  20          //#include "lrc_parse.h"
  21          #include "prefer.h"
  22          #include "usb_main.h"
  23          #include "gameblock.h"
*** WARNING C318 IN LINE 3 OF ..\SRC\INCLUDE\GAMEBLOCK.H: can't open file 'types.h'
  24          #include "ui_main.h"
  25          #include "batt.h"
  26          #include "global_user.h"
*** WARNING C318 IN LINE 26 OF ..\src\user_main.c: can't open file 'global_user.h'
  27          
  28          //extern BOOLEAN txt_init;
  29          
  30          extern BOOLEAN playGame;
  31          extern INT8 countTime;
  32          extern INT8 g_game_speed;
  33          
  34          UINT8 cartoon_count=0;
  35          UINT8 txt_count=0;
  36          INT8U low_batt_count = 0;
  37          extern BOOLEAN play_statu;
  38          INT8U batt_count = 0;
  39          
  40          #define CONFIG_EVB
  41          #define CONFIG_NAND_LARGEPAGE
  42          
  43          #define KEY(name)       KEY_##name   
  44              
  45          #ifdef CONFIG_EVB       // EVB Board
  46          
  47          code UINT8 key_map[] =
C51 COMPILER V7.50   USER_MAIN                                                             07/17/2008 14:38:51 PAGE 2   

  48          {
  49                  KEY(UNUSED)   , KEY(UNUSED)   , KEY(PLAY)     , KEY(PLAY)     ,
  50                  KEY(PLAY)     , KEY(PLAY)     , KEY(PLAY)     , KEY(PLAY)     ,
  51                  KEY(PLAY)     , KEY(PREV)     , KEY(PREV)     , KEY(PREV)     , 
  52                  KEY(PREV)     , KEY(PREV)     , KEY(PREV)     , KEY(NEXT)     ,
  53                  KEY(NEXT)     , KEY(NEXT)     , KEY(NEXT)     , KEY(AB_REPEAT),
  54                  KEY(AB_REPEAT), KEY(AB_REPEAT), KEY(AB_REPEAT), KEY(AB_REPEAT),
  55                  KEY(AB_REPEAT), KEY(MENU)     , KEY(MENU)     , KEY(MENU)     ,
  56                  KEY(MENU)     , KEY(MENU)     , KEY(MENU)     , KEY(MENU)     ,
  57          };
  58          
  59          #else                   // FPGA Board           
              code UINT8 key_map[] =
              {
                      KEY(UNUSED)   , KEY(UNUSED)   , KEY(UNUSED)   , KEY(UNUSED)   ,
                      KEY(UNUSED)   , KEY(UNUSED)   , KEY(UNUSED)   , KEY(UNUSED)   ,
                      KEY(UNUSED)   , KEY(UNUSED)   , KEY(UNUSED)   , KEY(MENU)     , 
                      KEY(MENU)     , KEY(MENU)     , KEY(VOL_DN)   , KEY(VOL_DN)   ,
                      KEY(VOL_UP)   , KEY(VOL_UP)   , KEY(VOL_UP)   , KEY(AB_REPEAT),
                      KEY(AB_REPEAT), KEY(PLAY)     , KEY(PLAY)     , KEY(PLAY)     ,
                      KEY(STOP)     , KEY(STOP)     , KEY(STOP)     , KEY(NEXT)     ,
                      KEY(NEXT)     , KEY(NEXT)     , KEY(PREV)     , KEY(PREV)     ,
              };
              
              #endif
  73          
  74          code UINT8 battery_map[] =
  75          {
  76                  BATTERY_LEVEL_1,  BATTERY_LEVEL_2,  BATTERY_LEVEL_3,  BATTERY_LEVEL_4 ,
  77                  BATTERY_LEVEL_5,  BATTERY_LEVEL_6,  BATTERY_LEVEL_7,  BATTERY_LEVEL_8 ,
  78                  BATTERY_LEVEL_9,  BATTERY_LEVEL_10, BATTERY_LEVEL_11, BATTERY_LEVEL_12,
  79                  BATTERY_LEVEL_13, BATTERY_LEVEL_14, BATTERY_LEVEL_15, BATTERY_LEVEL_16,
  80                  BATTERY_LEVEL_17, BATTERY_LEVEL_18, BATTERY_LEVEL_19, BATTERY_LEVEL_20,
  81                  BATTERY_LEVEL_21, BATTERY_LEVEL_22, BATTERY_LEVEL_23, BATTERY_LEVEL_24,
  82                  BATTERY_LEVEL_25, BATTERY_LEVEL_26, BATTERY_LEVEL_27, BATTERY_LEVEL_28,
  83                  BATTERY_LEVEL_29, BATTERY_LEVEL_30, BATTERY_LEVEL_31, BATTERY_LEVEL_32,
  84          };
  85          
  86          UINT8 event_argv;
  87          
  88          #ifndef CONFIG_NAND_LARGEPAGE
              INT16U free_mem_ptr;
              INT16U free_mem_end_ptr;
              INT32U *file_entry;
              
              void xdata *my_malloc(UINT16 size)
              {
                      void xdata *p;
                      
                      if(size <= 0 || (free_mem_ptr + size > free_mem_end_ptr))
                              return 0;
                      
                      p = (void *)free_mem_ptr;
                      free_mem_ptr += size;
                      
                      return p;
              }
              
              #endif
 107          
 108          
 109          void event_short_button(void)
C51 COMPILER V7.50   USER_MAIN                                                             07/17/2008 14:38:51 PAGE 3   

 110          {
 111                  key_process(event_argv);
 112          }
 113          
 114          void event_long_button(void)
 115          {
 116                  //Print("Long Button\n");
 117                  switch(event_argv) {
 118                          case KEY(NEXT):
 119                          case KEY(PREV):
 120                                  if(curr_screen->id == SCREEN_GAME)
 121                                          event_argv += (KEY_FORWARD - KEY_NEXT);
 122                                  break;  
 123                          case KEY(VOL_DN):
 124                          case KEY(VOL_UP):
 125                          case KEY(PLAY):
 126                                  event_argv += (KEY_LONG_PLAY - KEY_PLAY);
 127                                  break;
 128                          case KEY(MENU):
 129                                  event_argv += (KEY_LONG_MENU - KEY_MENU);
 130                                  break;                          
 131                          default:
 132                                  return;
 133                  }
 134                  
 135                  key_process(event_argv);
 136          }
 137          
 138          void event_button_release(void)
 139          {
 140                  key_process(KEY_RELEASE);
 141          }
 142          
 143          void event_usb_status_change(void)
 144          {
 145          }
 146          
 147          void event_init_startup(void);
 148          void event_usb_cable_out(void)
 149          {
 150          }
 151          
 152          void event_usb_cable_in(void)
 153          {
 154                  //usb_online();
 155                  //screen_map(SCREEN_USB);
 156                  api_bLoad(Code_USER13,1);
 157          }                                       
 158          
 159          void event_quarter_sec(void)
 160          {
 161                  if(playGame)
 162                  {
 163                          if(KEY(AB_REPEAT)==event_argv)
 164                                  countTime=0;
 165                          if(countTime<=0)
 166                          {
 167                                  game_block(KEY(AB_REPEAT));
 168                                  countTime=5-g_game_speed;
 169                          }
 170                          if(countTime>0)
 171                                  countTime--;
C51 COMPILER V7.50   USER_MAIN                                                             07/17/2008 14:38:51 PAGE 4   

 172                  }
 173                  if(screen_level==SCREEN_LEVEL_USB_ON)
 174                  {
 175                          ui_show_charge();       
 176                  }
 177                  if(api_u8GetBatteryRemain() <= BATTERY_LEVEL_10)
 178                  {
 179                          low_batt_count++;
 180                  }       
 181                  else 
 182                  {
 183                          low_batt_count = 0;
 184                  }       
 185                  if(low_batt_count==6) //shut down
 186                  {                           
 187                          close_volume();
 188                          bResShowPic(LOWPOWER,0,0);
 189                          delay(10000);
 190                          delay(10000);
 191                          vShutDown();            
 192                  }
 193                  vKeyTimeOut();
 194          }
 195          
 196          void event_dsp_exception(void)
 197          {
 198          #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  
 206          }
 207          
 208          void event_loop_epilog(void)
 209          {
 210          }
 211          
 212          void event_init_startup(void)
 213          {
 214          #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  
 224                  api_vKeyMapRegister(key_map);   
 225                  api_vSetPassCount(30);
 226                  api_vBatteryLevelRegister(battery_map); 
 227                  
 228                  api_bLoadPreferenceData((void*)(&tUserPreference),sizeof(USER_PREFERENCE_T));         
 229                  tUserPreference.game_speed=2;
 230                  if(tUserPreference.u8LanguageId>4)  
 231                          api_bSetLanguage(0);
 232                  else 
 233                          api_bSetLanguage(tUserPreference.u8LanguageId);
C51 COMPILER V7.50   USER_MAIN                                                             07/17/2008 14:38:51 PAGE 5   

 234                  u16TimerCount = 1; 
 235                  menu_stop = 1; 
 236                  gui_init();
 237                  playGame=0;
 238          //      screen_map(SCREEN_GAME);
 239              game_sub_menu();
 240          }
 241          
 242          
 243          typedef void event_handler(void);
 244          
 245          static code event_handler *handlers[] = {
 246                  event_init_startup,             // EVENT_INIT_STARTUP
 247                  NULL,                           // EVENT_WATCHDOG_UP
 248                  NULL,                           // EVENT_LOOP_PROLOG
 249                  event_loop_epilog,              // EVENT_LOOP_EPILOG
 250                  NULL,                           // EVENT_OCTANT_SEC
 251                  event_quarter_sec,              // EVENT_QUARTER_SEC
 252                  event_usb_cable_in,             // EVENT_USB_CABLE_IN
 253                  event_usb_cable_out,            // EVENT_USB_CABLE_OUT
 254                  event_usb_status_change,        // EVENT_USB_STATUS_CHANGE
 255                  NULL,                           // EVENT_CARD_CHANGE
 256                  event_long_button,              // EVENT_LONG_BUTTON
 257                  event_short_button,             // EVENT_SHORT_BUTTON
 258                  event_button_release,           // EVENT_BUTTON_RELEASE
 259                  event_dsp_exception,            // EVENT_DSP_EXCEPTION
 260          };
 261          
 262          void user_main(UINT8 event, UINT8 argv)
 263          {
 264                  event_argv = argv;
 265                  event -= 0x80;
 266          
 267                  if(handlers[event])
 268                          (*handlers[event])();
 269          }
 270          

C51 COMPILATION COMPLETE.  5 WARNING(S),  1 ERROR(S)

⌨️ 快捷键说明

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