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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tpbulk.lst

?? 一個(gè)51單片機(jī)讀寫U盤的完整資料
?? LST
字號:
C51 COMPILER V7.06   TPBULK                                                                08/10/2005 23:36:34 PAGE 1   


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

stmt level    source

   1          #include "common.h"
   2          #include "SL811.H"
   3          #include "TPBULK.H"
   4          #include "HAL.H"
   5          #include "HPI.H"
   6          #include "HPI32.H"
   7          
   8          //////////////////////////////////
   9          extern unsigned char xdata DBUF[BUFFER_LENGTH];
  10          extern SYS_INFO_BLOCK xdata DeviceInfo;
  11          extern FILE_INFO xdata ThisFile;
  12          extern unsigned int xdata DirStartCluster;
  13          extern unsigned long xdata DirStartCluster32;
  14                  
  15          unsigned char idata out[0x20];
  16          ///////////////////////////////////////////////////////////////////////////
  17          unsigned char EnumMassDev(void)
  18          {
  19   1              unsigned int ReservedSectorsNum;
  20   1      
  21   1              if(!SPC_Inquiry())
  22   1                      return FALSE;
  23   1              if(!SPC_TestUnit())
  24   1                      return FALSE;
  25   1              if(!SPC_LockMedia())
  26   1                      return FALSE;
  27   1              if(!SPC_RequestSense())
  28   1                      return FALSE;
  29   1              if(!SPC_TestUnit())
  30   1                      return FALSE;
  31   1              if(!RBC_ReadCapacity())
  32   1                      return FALSE;
  33   1      
  34   1              ////////////////////////////////////////////////////
  35   1              DeviceInfo.BPB_BytesPerSec=512; //暫假設(shè)為512
  36   1              
  37   1              if(!SPC_RequestSense())
  38   1                      return FALSE;
  39   1              if(!SPC_TestUnit())
  40   1                      return FALSE;
  41   1              if(!RBC_ReadCapacity())
  42   1                      return FALSE;
  43   1              ////////////////////////////////////////////////////
  44   1              if(!RBC_Read(0x0,1,DBUF))
  45   1                      return FALSE;
  46   1              //////////////////////////////////
  47   1              if(DBUF[0]==0xeb||DBUF[0]==0xe9)
  48   1                      {
  49   2                      DeviceInfo.StartSector=0;
  50   2                      }
  51   1              else
  52   1                      {
  53   2                      DeviceInfo.StartSector=LSwapINT32(DBUF[454],DBUF[455],DBUF[456],DBUF[457]);
  54   2                      }
  55   1              ///////////////////////////////////////////////////////
C51 COMPILER V7.06   TPBULK                                                                08/10/2005 23:36:34 PAGE 2   

  56   1              if(!RBC_Read(DeviceInfo.StartSector,1,DBUF))
  57   1                      return FALSE;
  58   1      
  59   1              DeviceInfo.BPB_BytesPerSec=LSwapINT16(DBUF[11],DBUF[12]);
  60   1              DeviceInfo.BPB_SecPerClus=DBUF[13];
  61   1              ReservedSectorsNum=LSwapINT16(DBUF[14],DBUF[15]);
  62   1              DeviceInfo.BPB_NumFATs=DBUF[16];
  63   1      
  64   1              if(DBUF[82]=='F'&&DBUF[83]=='A'&&DBUF[84]=='T'&&DBUF[85]=='3'&&DBUF[86]=='2')
  65   1                      {
  66   2                      DeviceInfo.BPB_TotSec32=LSwapINT32(DBUF[32],DBUF[33],DBUF[34],DBUF[35]);
  67   2                      DeviceInfo.BPB_FATSz32=LSwapINT32(DBUF[36],DBUF[37],DBUF[38],DBUF[39]);
  68   2                      DeviceInfo.RootStartCluster=LSwapINT32(DBUF[44],DBUF[45],DBUF[46],DBUF[47]);
  69   2                      DeviceInfo.FatStartSector=DeviceInfo.StartSector+ReservedSectorsNum;
  70   2                      DeviceInfo.FirstDataSector=DeviceInfo.FatStartSector+DeviceInfo.BPB_NumFATs*DeviceInfo.BPB_FATSz32;
  71   2                      DeviceInfo.TotCluster=(DeviceInfo.BPB_TotSec32-DeviceInfo.FirstDataSector+1)/DeviceInfo.BPB_SecPerClus+1
             -;
  72   2                      DirStartCluster32=DeviceInfo.RootStartCluster;
  73   2                      DeviceInfo.FAT=1;       //FAT16=0,FAT32=1;
  74   2                      }
  75   1              else
  76   1                      {               
  77   2                      DeviceInfo.BPB_RootEntCnt=LSwapINT16(DBUF[17],DBUF[18]);
  78   2                      DeviceInfo.BPB_RootEntCnt=(DeviceInfo.BPB_RootEntCnt)*32/DeviceInfo.BPB_BytesPerSec;    
  79   2                      DeviceInfo.BPB_TotSec16=LSwapINT16(DBUF[19],DBUF[20]);  
  80   2                      DeviceInfo.BPB_FATSz16=LSwapINT16(DBUF[22],DBUF[23]);                   
  81   2                      DeviceInfo.FatStartSector=DeviceInfo.StartSector+ReservedSectorsNum;
  82   2                      DeviceInfo.RootStartSector=DeviceInfo.StartSector+DeviceInfo.BPB_NumFATs*DeviceInfo.BPB_FATSz16+Reserved
             -SectorsNum;        
  83   2                      DeviceInfo.FirstDataSector=DeviceInfo.FatStartSector+DeviceInfo.BPB_NumFATs*DeviceInfo.BPB_FATSz16+Devic
             -eInfo.BPB_RootEntCnt;
  84   2                      DeviceInfo.FAT=0;
  85   2                      }               
  86   1              ///////////////////////////////////////////////////////
  87   1              ThisFile.bFileOpen=0;   
  88   1              ///////////////////////////////////////////////////////
  89   1              return TRUE;
  90   1      }
  91          
  92          unsigned char SPC_Inquiry(void)
  93          {
  94   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;
  95   1              out[4]=0x60;out[5]=0xa6;out[6]=0x24;out[7]=0xde;
  96   1              out[8]=0x24;out[9]=0x00;out[10]=0x00;out[11]=0x00;
  97   1              out[12]=0x80;out[13]=0x00;out[14]=06;   
  98   1              out[15]=SPC_CMD_INQUIRY;out[16]=0x00;out[17]=0x00;
  99   1              out[18]=0x00;out[19]=0x24;out[20]=0x00; 
 100   1              ////////////////////////////////
 101   1              if(!epBulkSend(out,0x1f))       
 102   1                      return FALSE;
 103   1              DelayMs(150);
 104   1              if(!epBulkRcv(DBUF,38))
 105   1                      return FALSE;   
 106   1              if(!epBulkRcv(out,13))
 107   1                      return FALSE;
 108   1              ////////////////////////////////
 109   1              return TRUE;    
 110   1      }
 111          
 112          unsigned char SPC_RequestSense(void)
 113          {
 114   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;        
C51 COMPILER V7.06   TPBULK                                                                08/10/2005 23:36:34 PAGE 3   

 115   1              out[4]=0x60;out[5]=0xa6;out[6]=0x24;out[7]=0xde;
 116   1              out[8]=0x0e;out[9]=0x00;out[10]=0x00;out[11]=0x00;
 117   1              out[12]=0x80;out[13]=0x00;out[14]=6;
 118   1              out[15]=SPC_CMD_REQUESTSENSE;out[16]=0x00;out[17]=0x00;
 119   1              out[18]=0x00;out[19]=0x0e;out[20]=0x00;         
 120   1              //////////////////////////////////////
 121   1              if(!epBulkSend(out,0x1f))       
 122   1                      return FALSE;
 123   1              DelayMs(5);
 124   1              if(!epBulkRcv(out,18))
 125   1                      return FALSE;   
 126   1              //delay_dsp
 127   1              if(!epBulkRcv(out,13))
 128   1                      return FALSE;
 129   1      /////////////////////////////
 130   1              return TRUE;
 131   1      }
 132          
 133          unsigned char SPC_TestUnit(void)
 134          {
 135   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;        
 136   1              out[4]=0x60;out[5]=0xa6;out[6]=0x24;out[7]=0xde;        
 137   1              out[8]=0x00;out[9]=0x00;out[10]=0x00;out[11]=0x00;
 138   1              out[12]=0x00;out[13]=0x00;out[14]=6;
 139   1              /////////////////////////////////////   
 140   1              out[15]=SPC_CMD_TESTUNITREADY;
 141   1              out[16]=0;out[17]=0;out[18]=0;out[19]=0;out[20]=0;
 142   1              //////////////////////////////////////
 143   1              if(!epBulkSend(out,0x1f))       
 144   1                      return FALSE;
 145   1              DelayMs(5);
 146   1              if(!epBulkRcv(out,13))
 147   1                      return FALSE;
 148   1              return TRUE;
 149   1      }
 150          
 151          unsigned char SPC_LockMedia(void)
 152          {
 153   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;
 154   1              out[4]=0x60;out[5]=0xa6;out[6]=0x24;out[7]=0xde;        
 155   1              out[8]=0x00;out[9]=0x00;out[10]=0x00;out[11]=0x00;
 156   1              out[12]=0x00;out[13]=0x00;out[14]=5;
 157   1              ///////////////////////////////////////////
 158   1              out[15]=SPC_CMD_PRVENTALLOWMEDIUMREMOVAL;
 159   1              out[16]=0;out[17]=0;out[18]=0;out[19]=1;
 160   1              ///////////////////////////////////////////
 161   1              if(!epBulkSend(out,0x1f))       
 162   1                      return FALSE;
 163   1              DelayMs(5);
 164   1      
 165   1              if(!epBulkRcv(out,13))
 166   1                      return FALSE;
 167   1      
 168   1      /////////////////////////////
 169   1              return TRUE;
 170   1      }
 171          
 172          unsigned char RBC_ReadCapacity(void)
 173          {
 174   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;        
 175   1              out[4]=0x60;out[5]=0xa6;out[6]=0x24;out[7]=0xde;        
 176   1              out[8]=0x08;out[9]=0x00;out[10]=0x00;out[11]=0x00;      
C51 COMPILER V7.06   TPBULK                                                                08/10/2005 23:36:34 PAGE 4   

 177   1              out[12]=0x80;out[13]=0x00;out[14]=10;
 178   1              /////////////////////////////////////
 179   1              out[15]=RBC_CMD_READCAPACITY;
 180   1              out[16]=0;out[17]=0;out[18]=0;out[19]=0;
 181   1              out[20]=0;out[21]=0;out[22]=0;out[23]=0;
 182   1              out[24]=0;
 183   1              /////////////////////////////////////
 184   1              if(!epBulkSend(out,0x1f))       
 185   1                      return FALSE;
 186   1              DelayMs(10);
 187   1              if(!epBulkRcv(DBUF,8))
 188   1                      return FALSE;
 189   1              if(!epBulkRcv(out,13))
 190   1                      return FALSE;
 191   1              /////////////////////////////
 192   1              return TRUE;
 193   1      }
 194          
 195          unsigned char RBC_Read(unsigned long lba,unsigned char len,unsigned char *pBuffer)
 196          {
 197   1              unsigned long lout;     
 198   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;        
 199   1              out[4]=0x60;out[5]=0xa6;out[6]=0x24;out[7]=0xde;        
 200   1              lout=len*DeviceInfo.BPB_BytesPerSec;
 201   1              out[8]=(unsigned char)(lout&0xff);
 202   1              out[9]=(unsigned char)((lout>>8)&0xff);
 203   1              out[10]=(unsigned char)((lout>>16)&0xff);
 204   1              out[11]=(unsigned char)((lout>>24)&0xff);       
 205   1              out[12]=0x80;out[13]=0x00;out[14]=10;
 206   1              /////////////////////////////////////
 207   1              out[15]=RBC_CMD_READ10;out[16]=0x00;
 208   1              out[17]=(unsigned char)((lba>>24)&0xff);
 209   1              out[18]=(unsigned char)((lba>>16)&0xff);
 210   1              out[19]=(unsigned char)((lba>>8)&0xff);
 211   1              out[20]=(unsigned char)(lba&0xff);      
 212   1              out[21]=0x00;
 213   1              out[22]=(unsigned char)((len>>8)&0xff);
 214   1              out[23]=(unsigned char)(len&0xff);      
 215   1              out[24]=0x00;
 216   1              //////////////////////////////////////  
 217   1              if(!epBulkSend(out,0x1f))       
 218   1                      return FALSE;
 219   1              DelayMs(5);
 220   1              if(!epBulkRcv(pBuffer,len*DeviceInfo.BPB_BytesPerSec))
 221   1                      return FALSE;
 222   1              if(!epBulkRcv(out,13))
 223   1                      return FALSE;           
 224   1              /////////////////////////////
 225   1              return TRUE;
 226   1      }
 227          
 228          unsigned char RBC_Write(unsigned long lba,unsigned char len,unsigned char *pBuffer)
 229          {
 230   1              unsigned long lout;
 231   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;
 232   1              out[4]=0xb4;out[5]=0xd9;out[6]=0x77;out[7]=0xc1;        
 233   1              lout=len*DeviceInfo.BPB_BytesPerSec;
 234   1              out[8]=(unsigned char)(lout&0xff);
 235   1              out[9]=(unsigned char)((lout>>8)&0xff);
 236   1              out[10]=(unsigned char)((lout>>16)&0xff);
 237   1              out[11]=(unsigned char)((lout>>24)&0xff);       
 238   1              out[12]=0x00;out[13]=0x00;out[14]=10;
C51 COMPILER V7.06   TPBULK                                                                08/10/2005 23:36:34 PAGE 5   

 239   1              /////////////////////////////////////
 240   1              out[15]=RBC_CMD_WRITE10;        
 241   1              out[16]=0x00;
 242   1              out[17]=(unsigned char)((lba>>24)&0xff);
 243   1              out[18]=(unsigned char)((lba>>16)&0xff);
 244   1              out[19]=(unsigned char)((lba>>8)&0xff);
 245   1              out[20]=(unsigned char)(lba&0xff);
 246   1              out[21]=0x00;
 247   1              out[22]=(unsigned char)((len>>8)&0xff);
 248   1              out[23]=(unsigned char)(len&0xff);      
 249   1              out[24]=0x00;
 250   1              //////////////////////////////////////
 251   1              if(!epBulkSend(out,0x1f))       
 252   1                      return FALSE;
 253   1              DelayMs(15);
 254   1              if(!epBulkSend(pBuffer,DeviceInfo.BPB_BytesPerSec))
 255   1                      return FALSE;
 256   1              DelayMs(10);    
 257   1              if(!epBulkRcv(out,13))
 258   1                      return FALSE;
 259   1              return TRUE;
 260   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2091    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      26
   IDATA SIZE       =     32    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米色一区二区| 久久精品国产网站| 久久伊人中文字幕| 在线视频欧美精品| 国产精品影视在线观看| 亚洲第一成年网| 亚洲三级理论片| xnxx国产精品| 欧美一级欧美一级在线播放| 一本一本大道香蕉久在线精品| 久久精工是国产品牌吗| 午夜激情一区二区| 最近日韩中文字幕| 国产人妖乱国产精品人妖| 日韩视频永久免费| 欧美精品欧美精品系列| 91黄色小视频| 色综合天天综合网国产成人综合天| 国产在线视频精品一区| 男女激情视频一区| 亚洲成人在线网站| 一区二区三区自拍| 国产精品免费观看视频| 欧美激情一区二区三区四区 | 日韩免费观看高清完整版| 在线视频中文字幕一区二区| 99久久免费精品高清特色大片| 国产在线一区观看| 国产一区二区三区不卡在线观看 | 日韩限制级电影在线观看| 欧美日韩在线观看一区二区| 欧美中文字幕一区| 欧美亚洲图片小说| 欧美日韩激情一区二区| 欧美日韩精品电影| 欧美一区二区三区小说| 国产日韩高清在线| 国产精品色噜噜| 国产精品电影院| 最新成人av在线| 亚洲综合一二区| 亚洲va中文字幕| 日韩在线a电影| 蜜臀av性久久久久蜜臀aⅴ| 日本不卡免费在线视频| 麻豆成人免费电影| 国产一区二区三区四| 国产精品亚洲一区二区三区妖精| 国产精品一区二区久久不卡| 国产成人综合在线播放| 成人免费毛片app| www.一区二区| 欧美在线观看视频一区二区| 欧美久久一区二区| 日韩免费高清电影| 国产三级一区二区三区| 亚洲视频狠狠干| 亚洲成人第一页| 久久99久久99小草精品免视看| 国内成人免费视频| 99re66热这里只有精品3直播 | 在线观看免费视频综合| 欧美日韩视频在线第一区| 日韩精品在线看片z| 国产色产综合色产在线视频| 亚洲人成网站色在线观看| 午夜视频在线观看一区二区三区| 免费人成精品欧美精品| 国产成人综合在线观看| 91国偷自产一区二区三区观看| 4hu四虎永久在线影院成人| wwwwxxxxx欧美| 曰韩精品一区二区| 日产国产欧美视频一区精品| 国产一区二区三区在线观看免费 | 亚洲午夜三级在线| 国产在线播放一区| 99久久精品免费看国产免费软件| 欧美日韩久久不卡| 国产嫩草影院久久久久| 亚洲成人精品在线观看| 国产一区二区三区四区五区入口 | 亚洲精品成人悠悠色影视| 午夜免费欧美电影| 成人免费毛片嘿嘿连载视频| 欧美日韩一区中文字幕| 欧美高清在线视频| 日本欧洲一区二区| 色欧美乱欧美15图片| 精品成人一区二区三区四区| 亚洲国产综合视频在线观看| 国产精品影视在线观看| 69成人精品免费视频| 国产精品国产三级国产普通话三级| 日本不卡1234视频| 一本久道中文字幕精品亚洲嫩| 日韩欧美国产一区二区在线播放 | 久久99精品网久久| 色999日韩国产欧美一区二区| 欧美成人精品3d动漫h| 亚洲一区二区三区中文字幕在线| 国产综合色视频| 欧美三级电影精品| 国产精品国产自产拍在线| 久久97超碰国产精品超碰| 欧美亚日韩国产aⅴ精品中极品| 国产亚洲精久久久久久| 蜜臀av亚洲一区中文字幕| 欧美三级蜜桃2在线观看| 日韩一区中文字幕| 高清在线观看日韩| 精品国产电影一区二区| 日韩av电影免费观看高清完整版在线观看| 99精品桃花视频在线观看| 精品av久久707| 蜜桃av噜噜一区二区三区小说| 欧美日韩卡一卡二| 亚洲综合免费观看高清完整版在线| 99久久综合狠狠综合久久| 久久精品夜色噜噜亚洲aⅴ| 人人狠狠综合久久亚洲| 欧美视频一二三区| 亚洲综合一区二区三区| 色香蕉久久蜜桃| 国产精品三级视频| 成人综合在线视频| 国产色婷婷亚洲99精品小说| 欧美日韩精品二区第二页| 国产精品77777竹菊影视小说| 99久久久久久| 日韩精品一区二区三区三区免费| 亚洲综合视频网| 五月婷婷激情综合| 高清免费成人av| 日本一区二区高清| 欧美在线短视频| 免费观看91视频大全| 国产女主播在线一区二区| 91黄色激情网站| 麻豆精品在线播放| 国产欧美精品日韩区二区麻豆天美| 色综合色狠狠综合色| 日韩制服丝袜先锋影音| 国产欧美日韩精品一区| 91丝袜美女网| 蜜桃一区二区三区在线观看| 国产欧美1区2区3区| 欧美日韩免费视频| 国产精品18久久久久久久网站| 亚洲欧美国产毛片在线| 91精品国产高清一区二区三区| 成人福利电影精品一区二区在线观看| 亚洲综合免费观看高清完整版| 2023国产精品视频| 欧美写真视频网站| 国产成人精品网址| 婷婷综合另类小说色区| 欧美国产日韩a欧美在线观看| 欧美剧情电影在线观看完整版免费励志电影 | 欧美大胆一级视频| 91免费观看在线| 精品一区二区三区视频在线观看| 综合电影一区二区三区 | 欧美成人aa大片| 91蝌蚪porny| 久久99久久久欧美国产| 亚洲欧美日韩精品久久久久| 精品动漫一区二区三区在线观看| 日本精品一区二区三区高清 | 在线91免费看| 91香蕉视频黄| 国产91丝袜在线播放九色| 青青草成人在线观看| 一区二区三区蜜桃| 欧美高清在线精品一区| 日韩欧美国产三级| 欧美群妇大交群的观看方式| 成人av手机在线观看| 精品写真视频在线观看 | 91尤物视频在线观看| 国产精品一区二区无线| 日本在线不卡视频| 亚洲影院免费观看| 亚洲欧洲国产日韩| 国产欧美日韩卡一| 国产日韩欧美激情| 久久综合色天天久久综合图片| 日韩欧美精品在线视频| 欧美性欧美巨大黑白大战| 色老汉av一区二区三区| 成人黄色免费短视频| 国产91丝袜在线观看| 韩国成人精品a∨在线观看| 蜜臀av在线播放一区二区三区| 午夜欧美大尺度福利影院在线看| 亚洲一区二区三区中文字幕 | va亚洲va日韩不卡在线观看| 国产一区二区三区在线看麻豆| 精品一区二区在线视频| 人人精品人人爱|