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

📄 txt_utile.lst

📁 智原mp3 SDK 开发包 与巨力 有mp3 wma ogg decoder
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   TXT_UTILE                                                             08/18/2008 13:49:10 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TXT_UTILE
OBJECT MODULE PLACED IN ..\output\output_bin\output_ebook\txt_utile.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\code\ap_ebook\src\txt_utile.c LARGE OPTIMIZE(9,SIZE) BROWSE INCDIR(..
                    -\..\..\bsp\include;..\..\code\ap_ebook\src\include;..\..\code\global;..\..\code\include) DEFINE(CONFIG_ASIC,dynamic_load
                    -) DEBUG OBJECTEXTEND PRINT(..\output\output_bin\output_ebook\txt_utile.lst) OBJECT(..\output\output_bin\output_ebook\txt
                    -_utile.obj)

line level    source

   1          /****************************
   2           *   mp3_utile.c
   3           ****************************/
   4          
   5          #include <string.h>
   6          #include "api.h"
   7          #include "lcd.h"
   8          #include "common.h"
   9          #include "display.h" 
  10          #include "txt_display.h"
  11          #include "txt_main.h"
  12          #include "prefer.h"
  13          
  14          #define Page_stack_size 128
  15          
  16          #define isSpecialChar( ch ) ((ch) > 0 && (ch) < 0x0a) || ((ch) > 0x0a && (ch) < '!')
  17           
  18          UINT8     *StepAdd,*flashdata;
  19          UINT32    coder_counter;
  20          
  21          //parse file data
  22          UINT8    decoderdata1[720];
  23          
  24          static UINT8    Gatdata[513];
  25          
  26          UINT8 txt_page_next();
  27          
  28          void DataConvert_en(void);
  29          void DataConvert_ch(void);
  30          
  31          UINT32  page_start=0;
  32          UINT32  page_last=0;
  33          INT32S  page_offset[Page_stack_size];
  34          
  35          FILE_t *fp;
  36          
  37          UINT32 get_stack_size()
  38          {
  39   1              return (page_last+Page_stack_size-page_start)%Page_stack_size;  
  40   1      }
  41          
  42          // open the txt file and seek 
  43          UINT8 txt_init(UINT8 *file_name)
  44          {
  45   1              UINT32 i;
  46   1                      
  47   1              //init page offset stack..
  48   1              for(i=0;i<128;i++)
  49   1                      page_offset[i]=0;       
  50   1              page_start = 0;
  51   1              page_last = 0;
  52   1                              
C51 COMPILER V7.50   TXT_UTILE                                                             08/18/2008 13:49:10 PAGE 2   

  53   1              fp=api_pFileOpen(file_name);
  54   1              
  55   1              tUserPreference.offset = 0;
  56   1              tUserPreference.page_number =1;
  57   1              
  58   1              if(fp==0)
  59   1                      return 0;
  60   1                      
  61   1              txt_page_next();                        
  62   1              return 1;                       
  63   1      }
  64          
  65          
  66          UINT8 txt_page_prev()
  67          {
  68   1              UINT32 j,stack_size=0,temp_page_number;   
  69   1              
  70   1              if(tUserPreference.page_number > 1)
  71   1                      tUserPreference.page_number--; 
  72   1              
  73   1              //if(tUserPreference.page_number == 1)
  74   1              //      tUserPreference.offset =0;
  75   1              
  76   1              if(get_stack_size()>0)
  77   1              {       
  78   2                      if(page_last != 0)
  79   2                      {
  80   3                              tUserPreference.offset = page_offset[page_last-1];
  81   3                      }
  82   2                      else
  83   2                      {
  84   3                              tUserPreference.offset = page_offset[Page_stack_size-1];
  85   3                      }
  86   2              }
  87   1              else   //need find last page.
  88   1              {
  89   2                      temp_page_number = tUserPreference.page_number;  //find from first.
  90   2                      tUserPreference.page_number=0;
  91   2                      tUserPreference.offset=0;
  92   2                      while(tUserPreference.page_number!=temp_page_number)
  93   2                      {
  94   3                              txt_page_next(); 
  95   3                      }
  96   2                      return 1;
  97   2              }               
  98   1      
  99   1              api_bFileSeek(fp,tUserPreference.offset,SEEK_SET);
 100   1              
 101   1              if(!api_u16FileRead(&Gatdata[0], 512 ,fp ))
 102   1                      return 0;             
 103   1              flashdata=&Gatdata[0];
 104   1              coder_counter=513;
 105   1              StepAdd=decoderdata1;           
 106   1              for( j = 0; j < 513; j++ )
 107   1              {
 108   2                      if(isSpecialChar(Gatdata[j]) )    
 109   2                      Gatdata[j] = ' ';
 110   2              }       
 111   1              
 112   1              if((tUserPreference.u8LanguageId==0)||(tUserPreference.u8LanguageId>4))
 113   1                      DataConvert_en();
 114   1              else
C51 COMPILER V7.50   TXT_UTILE                                                             08/18/2008 13:49:10 PAGE 3   

 115   1                      DataConvert_ch();
 116   1      
 117   1              return 1;      
 118   1      }
 119          
 120          UINT8 txt_close(void)
 121          {
 122   1              return 1;                       
 123   1      }
 124          
 125          UINT8 txt_page_next()
 126          {
 127   1              UINT32 j;   
 128   1              UINT32 i;
 129   1                      
 130   1              api_bFileSeek(fp,tUserPreference.offset,SEEK_SET);
 131   1              
 132   1              for(i=0;i<513;i++)
 133   1              {
 134   2                      Gatdata[i]=0;
 135   2              }       
 136   1              
 137   1              if(!api_u16FileRead(&Gatdata[0], 512 ,fp ))
 138   1              {
 139   2                      return 0;             
 140   2              }
 141   1              
 142   1              tUserPreference.page_number++; 
 143   1              
 144   1              if(tUserPreference.page_number<Page_stack_size)
 145   1                      page_offset[tUserPreference.page_number-1]=tUserPreference.offset;
 146   1              else
 147   1              {
 148   2                      if(get_stack_size()==Page_stack_size)  //stack is full.
 149   2                              if(page_start<Page_stack_size-1)
 150   2                                      page_start++;
 151   2                              else
 152   2                                      page_start = 0;                 
 153   2                      page_last = (tUserPreference.page_number-1)%Page_stack_size;
 154   2                      page_offset[page_last] = tUserPreference.offset;
 155   2              }        
 156   1              
 157   1              flashdata=&Gatdata[0];
 158   1              coder_counter=513;
 159   1              StepAdd=decoderdata1;   
 160   1              

⌨️ 快捷键说明

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