亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hpi32.lst

?? 一個51單片機讀寫U盤的完整資料
?? LST
?? 第 1 頁 / 共 4 頁
字號:
C51 COMPILER V7.06   HPI32                                                                 08/10/2005 23:36:35 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE HPI32
OBJECT MODULE PLACED IN HPI32.OBJ
COMPILER INVOKED BY: D:\Keil51\C51\BIN\C51.EXE HPI32.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "common.h"
   2          #include "TPBULK.H"
   3          #include "HPI.H"
   4          #include "HAL.H"
   5          #include "Fat.h"
   6          #include "Fat32.h"
   7          #include "HPI32.H"
   8          
   9          extern FLAGS bdata bFlags;
  10          extern unsigned char xdata DBUF[BUFFER_LENGTH];
  11          //////////////////////////////////////////
  12          extern unsigned char xdata UARTBUF[UARTBUF_LENGTH];
  13          extern SYS_INFO_BLOCK xdata DeviceInfo;
  14          extern FILE_INFO xdata ThisFile;
  15          
  16          extern Command_Def xdata Command;
  17          extern Response_Def xdata Response;
  18          
  19          unsigned long xdata DirStartCluster32,NowCluster32;
  20          extern unsigned long xdata NowSector;
  21          extern ShowFileName_Def xdata ShowFileName[MaxLFNum];   //long file struct
  22          /////////////////////////////////////////////
  23          
  24          unsigned char UartHandler32(void)
  25          {
  26   1        Response.Result=0;Response.len=0;
  27   1        switch(Command.CLass)
  28   1        {
  29   2          case 0x00:  //List          
  30   2              Response.Result=List32();
  31   2              break;  
  32   2              case 0x01:      //Open File
  33   2                      Response.Result=OpenFile32(Command.Parameter);          
  34   2              break;
  35   2              case 0x02:      //Read File             
  36   2                      Response.Result=ReadFile32(Command.len,UARTBUF);
  37   2                      break;   
  38   2          case 0x03:  //Set Pointer
  39   2                      Response.Result=SetFilePointer32(Command.len);  
  40   2                      break;
  41   2              case 0x04:      //Great File
  42   2                      Response.Result=OpenFile32(Command.Parameter);
  43   2                      if(Response.Result)
  44   2                              {
  45   3                              Response.Result=SetFilePointer32(ThisFile.LengthInByte);
  46   3                              }
  47   2                      else
  48   2                      Response.Result=CreateFile32(Command.len,Command.Parameter,UARTBUF);            
  49   2              break; 
  50   2              case 0x05:      //Write File
  51   2              Response.Result=WriteFile32(Command.len,UARTBUF);
  52   2              break; 
  53   2          case 0x06:  //Remove File
  54   2              ThisFile.bFileOpen=0;   
  55   2              Response.Result=RemoveFile32(Command.Parameter);
C51 COMPILER V7.06   HPI32                                                                 08/10/2005 23:36:35 PAGE 2   

  56   2              break;  
  57   2              case 0x07:      //Get Space     
  58   2              Response.Result=GetCapacity32();
  59   2              break;     
  60   2              case 0x08:  //DetectDisk
  61   2                      if(bFlags.bits.SLAVE_IS_ATTACHED)
  62   2                              Response.Result=1;
  63   2                      break;
  64   2              case 0x09:  //Great Dir
  65   2                      Response.Result=DownDir32(Command.Parameter);
  66   2                      if(!Response.Result)
  67   2                              Response.Result=CreateDir32(Command.len,Command.Parameter,UARTBUF);     
  68   2              break; 
  69   2              case 0x0a:      //Down Dir
  70   2                      Response.Result=DownDir32(Command.Parameter);
  71   2                      break;
  72   2              case 0x0b:      //Up Dir
  73   2                      Response.Result=UpDir32();
  74   2                      break;  
  75   2              case 0x0c:      //Up RootDir
  76   2                      Response.Result=UpRootDir32();
  77   2                      break;  
  78   2        }
  79   1      
  80   1        UartSendRsp();
  81   1        ///////////////////////////////
  82   1        return TRUE;  
  83   1      }
  84          
  85          unsigned char List32(void)
  86          {
  87   1              unsigned int item,i;
  88   1              unsigned char k,bstop,sector;
  89   1              unsigned char Lcount,Ncount,base;
  90   1              
  91   1              if(!bFlags.bits.SLAVE_IS_ATTACHED)
  92   1                      return FALSE;                   
  93   1              item=0;
  94   1              bstop=0;
  95   1              ////////////////////////////////////
  96   1              Lcount=0;
  97   1              for(i=0;i<MaxLFNum;i++)
  98   1                      {
  99   2                      ShowFileName[i].LongName[0]=0x00;
 100   2                      ShowFileName[i].LongName[1]=0x00;
 101   2                      }
 102   1      //////////////////////////////////////////////////////////////////                      
 103   1              NowCluster32=DirStartCluster32;         
 104   1                      do
 105   1                      {
 106   2                              NowSector=FirstSectorofCluster32(NowCluster32);
 107   2                              for(sector=0;sector<DeviceInfo.BPB_SecPerClus;sector++)
 108   2                      {   
 109   3                                      if(!RBC_Read(NowSector+sector,1,DBUF))
 110   3                                              return FALSE;                           
 111   3                                      for(i=0;i<DeviceInfo.BPB_BytesPerSec;i=i+32)
 112   3                                      {
 113   4                                              if(DBUF[i]==0x00)
 114   4                                                      {bstop=1;break;}
 115   4                                              else if(DBUF[i]==0xE5)
 116   4                                                      continue;                       
 117   4                                              else
C51 COMPILER V7.06   HPI32                                                                 08/10/2005 23:36:35 PAGE 3   

 118   4                                              {
 119   5                                                      for(k=0;k<32;k++)
 120   5                                                              UARTBUF[item*32+k]=DBUF[i+k];
 121   5                                                      item=item+1;
 122   5                                                      /////////////////////////////////
 123   5                                                      if(DBUF[i+11]==0x0F)
 124   5                                                      {
 125   6                                                              base=((DBUF[i]&0x1F)-1)*26;
 126   6                                                              if(base<=224)
 127   6                                                              {
 128   7                                                                      Ncount=0;
 129   7                                                                      for(k=1;k<11;k++)
 130   7                                                                      {
 131   8                                                                              ShowFileName[Lcount].LongName[base+Ncount]=DBUF[i+k];
 132   8                                                                              Ncount++;
 133   8                                                                      }
 134   7                                                                      for(k=14;k<26;k++)
 135   7                                                                      {
 136   8                                                                              ShowFileName[Lcount].LongName[base+Ncount]=DBUF[i+k];
 137   8                                                                              Ncount++;
 138   8                                                                      }
 139   7                                                                      for(k=28;k<32;k++)
 140   7                                                                      {
 141   8                                                                              ShowFileName[Lcount].LongName[base+Ncount]=DBUF[i+k];
 142   8                                                                              Ncount++;
 143   8                                                                      }
 144   7                                                              }
 145   6                                                      }
 146   5                                                      else
 147   5                                                      {
 148   6                                                              for(k=0;k<32;k++)
 149   6                                                                      ShowFileName[Lcount].item[k]=DBUF[i+k];
 150   6                                                         Lcount++;                                                    
 151   6                                                      }                       
 152   5                                      /////////////////////////////////
 153   5                                              }
 154   4                                      }
 155   3                                      if(bstop==1)break;              
 156   3                      }
 157   2                              if(bstop==1)break;
 158   2              
 159   2                              NowCluster32=GetNextClusterNum32(NowCluster32); 
 160   2                              
 161   2                      }while(NowCluster32<=DeviceInfo.TotCluster);
 162   1      
 163   1              Response.len=item*32;
 164   1              return TRUE;    
 165   1      }
 166          
 167          unsigned char OpenFile32(unsigned char *pBuffer)
 168          {
 169   1              unsigned int i;
 170   1              unsigned char j,bstop,sector;
 171   1                      
 172   1              if(!bFlags.bits.SLAVE_IS_ATTACHED)
 173   1                      return FALSE;                   
 174   1              ThisFile.bFileOpen=0;
 175   1              NowCluster32=DirStartCluster32;         
 176   1                      do
 177   1                      {
 178   2                              NowSector=FirstSectorofCluster32(NowCluster32);
 179   2                              for(sector=0;sector<DeviceInfo.BPB_SecPerClus;sector++)
C51 COMPILER V7.06   HPI32                                                                 08/10/2005 23:36:35 PAGE 4   

 180   2                      {   
 181   3                                      if(!RBC_Read(NowSector+sector,1,DBUF))
 182   3                                              return FALSE;                           
 183   3                                      for(i=0;i<DeviceInfo.BPB_BytesPerSec;i=i+32)
 184   3                                      {
 185   4                                              if(DBUF[i]==0x00)
 186   4                                                      return FALSE;
 187   4                                              j=0;
 188   4                                              while(DBUF[i+j]==*(pBuffer+j))
 189   4                                              {
 190   5                                                       j=j+1;
 191   5                                                       if(j>10)
 192   5                                                              break;
 193   5                                              }
 194   4                                              if(j>10&&(DBUF[i+11]&0x10)!=0x10)
 195   4                                              { 
 196   5                                                      for(j=0;j<32;j++)
 197   5                                                      UARTBUF[j]=DBUF[i+j];                       
 198   5                                              bstop=1;
 199   5                                              break;
 200   5                                                      }
 201   4                                      }
 202   3                                      if(bstop==1)break;              
 203   3                      }
 204   2                              if(bstop==1)break;      
 205   2                              NowCluster32=GetNextClusterNum32(NowCluster32);                 
 206   2                      }while(NowCluster32<=DeviceInfo.TotCluster);
 207   1                      
 208   1              if(NowCluster32>DeviceInfo.TotCluster)
 209   1                      return FALSE;
 210   1      
 211   1              ThisFile.bFileOpen=1;
 212   1              ThisFile.StartCluster=LSwapINT32(UARTBUF[26],UARTBUF[27],UARTBUF[20],UARTBUF[21]);
 213   1              ThisFile.LengthInByte=LSwapINT32(UARTBUF[28],UARTBUF[29],UARTBUF[30],UARTBUF[31]);
 214   1              ThisFile.ClusterPointer=ThisFile.StartCluster;  
 215   1              ThisFile.SectorPointer=FirstSectorofCluster32(ThisFile.StartCluster);
 216   1              ThisFile.OffsetofSector=0;
 217   1              ThisFile.SectorofCluster=0;     
 218   1              ThisFile.FatSectorPointer=0;    
 219   1              ThisFile.pointer=0;
 220   1              
 221   1              Response.len=32;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品一区二区三区免费视频 | 成人高清视频在线| 国产精品久久免费看| 日韩免费在线观看| 91精品国产综合久久久久久久| 国产精品卡一卡二| 国产精品久久久久久久久快鸭 | 亚洲精品日日夜夜| 国产精品久久久久久久久晋中 | 久久国产精品72免费观看| 日韩精品成人一区二区在线| 日欧美一区二区| 久久精品国产99国产精品| 狠狠色2019综合网| 国产精品香蕉一区二区三区| 丁香啪啪综合成人亚洲小说| 高清视频一区二区| 色婷婷亚洲婷婷| 91精品国产综合久久精品性色| 久久99久久久久| 蜜臀久久99精品久久久画质超高清| 精品国产一区二区三区久久影院| 丰满少妇在线播放bd日韩电影| 最新国产精品久久精品| 亚洲欧美电影院| 日韩影院精彩在线| 国产成人一级电影| 99国内精品久久| 欧美影院精品一区| 精品乱人伦一区二区三区| 国产欧美一区二区三区沐欲| 亚洲三级在线免费观看| 人人精品人人爱| 成人爱爱电影网址| 欧美视频在线一区| 精品国产欧美一区二区| 亚洲欧美日韩国产一区二区三区| 精品久久久久久久人人人人传媒 | 欧美日韩一区二区三区在线| 制服.丝袜.亚洲.另类.中文| 精品国产一二三区| 亚洲男同性恋视频| 日韩国产欧美在线观看| 99久久精品99国产精品| 欧美一区二区精美| 亚洲伦在线观看| 激情综合色综合久久综合| 在线视频一区二区免费| 国产人成亚洲第一网站在线播放| 欧美精品一区二区三区四区| 亚洲丝袜自拍清纯另类| 久久99精品一区二区三区三区| 午夜国产精品影院在线观看| 国产成人免费xxxxxxxx| 日韩三级.com| 午夜不卡在线视频| 97久久精品人人爽人人爽蜜臀| 国产伦理精品不卡| 日韩一区二区三区在线观看| 中日韩av电影| 国产一区二区h| 5858s免费视频成人| 亚洲综合av网| 92国产精品观看| 亚洲欧洲精品一区二区精品久久久| 中文字幕一区av| 激情欧美一区二区| 在线观看91av| 日韩电影网1区2区| 69堂成人精品免费视频| 日韩高清中文字幕一区| 欧美亚洲一区二区三区四区| 亚洲精品视频在线观看网站| 91一区二区三区在线观看| 中文字幕亚洲区| 成人精品视频一区二区三区| 国产亚洲欧美在线| 成人丝袜高跟foot| 国产精品欧美一区二区三区| 成人精品电影在线观看| 中文字幕亚洲视频| 在线视频欧美精品| 亚洲午夜三级在线| 欧美乱熟臀69xxxxxx| 日韩成人精品在线观看| 精品国产1区二区| 国产剧情一区二区三区| 国产欧美日韩在线| 91亚洲精品一区二区乱码| 一区二区三区中文字幕精品精品| 全部av―极品视觉盛宴亚洲| 日韩欧美一区二区三区在线| 久久99久久精品| 久久综合色一综合色88| 成人免费不卡视频| 亚洲精品中文字幕乱码三区| 欧美日韩国产bt| 日本成人在线看| 国产欧美精品在线观看| av电影天堂一区二区在线观看| 538在线一区二区精品国产| 久久精品国产999大香线蕉| 久久婷婷一区二区三区| 97成人超碰视| 蜜臀精品一区二区三区在线观看| av激情综合网| 亚洲国产另类av| 久久久美女艺术照精彩视频福利播放| 国产精品美女久久久久久| 在线欧美一区二区| 激情六月婷婷久久| 亚洲女同ⅹxx女同tv| 欧美日韩久久一区二区| 国产成人一区二区精品非洲| 亚洲综合丁香婷婷六月香| 久久综合av免费| 欧美亚洲动漫制服丝袜| 国产精品一区二区久久不卡| 亚洲精品你懂的| 久久久久久久电影| 777欧美精品| 色综合色综合色综合 | 亚洲欧美韩国综合色| 日韩三级在线观看| 91麻豆国产在线观看| 国内精品国产成人| 日韩国产一区二| 一区二区在线看| 国产亚洲精品资源在线26u| 欧美群妇大交群的观看方式| 成人国产在线观看| 国产自产视频一区二区三区| 日韩精品午夜视频| 一区二区三区精密机械公司| 精品国产一区二区三区四区四 | 久久亚洲一级片| 欧美自拍偷拍午夜视频| 国产suv精品一区二区883| 日本不卡免费在线视频| 亚洲综合色自拍一区| 中文字幕一区二区三区av| 久久久91精品国产一区二区三区| 国产尤物一区二区| 麻豆国产一区二区| 日本亚洲最大的色成网站www| 日韩亚洲欧美在线| 91精品久久久久久蜜臀| 欧美高清一级片在线| 91国产精品成人| 91国产福利在线| 欧美色窝79yyyycom| 欧美亚洲免费在线一区| 欧美影院精品一区| 欧美午夜电影在线播放| 欧美日韩电影在线播放| 欧美色综合网站| 欧美高清精品3d| 欧美成人一区二区| 亚洲精品在线观看视频| 国产情人综合久久777777| 国产日韩欧美综合一区| 日本一区二区免费在线观看视频| 日日噜噜夜夜狠狠视频欧美人| 一本大道综合伊人精品热热| av成人免费在线| 成人开心网精品视频| 国产精品99精品久久免费| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 成人app软件下载大全免费| 日韩av网站在线观看| 亚洲大片精品永久免费| 爽爽淫人综合网网站| 亚洲国产视频a| 亚洲一线二线三线久久久| 国产精品色噜噜| 亚洲精品国产成人久久av盗摄| 欧美日韩国产区一| 色综合久久久久| 麻豆精品久久精品色综合| 久久精品国产精品亚洲综合| 激情综合网天天干| 国产精品一二三四区| 亚洲成人av一区| 精品亚洲国产成人av制服丝袜| 欧美成人免费网站| 91精品蜜臀在线一区尤物| 99re66热这里只有精品3直播| 精品黑人一区二区三区久久| 日韩美女视频一区二区在线观看| 国产一区二区主播在线| 国产不卡高清在线观看视频| 国产成a人亚洲| caoporn国产精品| 678五月天丁香亚洲综合网| 日韩欧美中文字幕制服| 久久精品一区八戒影视| 亚洲精品在线观看网站| 亚洲影院免费观看| 日韩精品久久久久久| 国产精华液一区二区三区|