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

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

?? diskio.lst

?? C8051F340讀寫SD卡,帶文件系統(tǒng)
?? LST
字號:
C51 COMPILER V7.06   DISKIO                                                                03/06/2010 17:37:26 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE DISKIO
OBJECT MODULE PLACED IN diskio.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe diskio.c DB OE BR LARGE

stmt level    source

   1          /*-----------------------------------------------------------------------*/
   2          /* Low level disk I/O module skeleton for FatFs     (C)ChaN, 2007        */
   3          /*-----------------------------------------------------------------------*/
   4          /* This is a stub disk I/O module that acts as front end of the existing */
   5          /* disk I/O modules and attach it to FatFs module with common interface. */
   6          /*-----------------------------------------------------------------------*/
   7          
   8          /* Modified by xzp21st 2009.5 */
   9          
  10          #include "spi.h"
  11          #include "sd.h"
  12          #include "diskio.h"
  13          
  14          static DSTATUS Stat = STA_NOINIT;       /* Disk status */
  15          
  16          /*-----------------------------------------------------------------------*/
  17          /* Inidialize a Drive                                                    */
  18          
  19          DSTATUS disk_initialize (
  20                  BYTE drv                                /* Physical drive nmuber (0) */
  21          )
  22          {
  23   1              if (drv) return STA_NOINIT;     /* Supports only single drive */
  24   1                      
  25   1              if (!SD_init()) /* Initialization succeded */
  26   1              {                       
  27   2                      Stat &= ~STA_NOINIT; /* Clear STA_NOINIT */
  28   2              } 
  29   1      
  30   1              return Stat;
  31   1      }
  32          
  33          /*-----------------------------------------------------------------------*/
  34          /* Return Disk Status                                                    */
  35          
  36          DSTATUS disk_status (
  37                  BYTE drv                /* Physical drive nmuber (0) */
  38          )
  39          {
  40   1              if (drv) return STA_NOINIT;             /* Supports only single drive */
  41   1              return Stat;
  42   1      }
  43          
  44          /*-----------------------------------------------------------------------*/
  45          /* Read Sector(s)                                                        */
  46          
  47          DRESULT disk_read (
  48                  BYTE drv,               /* Physical drive nmuber:(0) */
  49                  BYTE *buff,             /* Data buffer to store read data */
  50                  DWORD sector,   /* Sector address (LBA) */
  51                  BYTE count              /* Number of sectors to read (1..255) */
  52          )
  53          {
  54   1              if (drv || !count) return RES_PARERR;
  55   1              if (Stat & STA_NOINIT) return RES_NOTRDY;
C51 COMPILER V7.06   DISKIO                                                                03/06/2010 17:37:26 PAGE 2   

  56   1      
  57   1              if (count == 1)/* Single block read */
  58   1              {       
  59   2                      if(!SD_readSingleBlock(buff, sector)) count = 0;
  60   2                      
  61   2              }
  62   1              else/* Multiple block read */
  63   1              {                                                       
  64   2                      if(!SD_readMultipleBlock (buff, sector, count)) count = 0;
  65   2              }
  66   1      
  67   1              return count ? RES_ERROR : RES_OK;
  68   1      }
  69          
  70          /*-----------------------------------------------------------------------*/
  71          /* Write Sector(s)                                                       */
  72          
  73          #if _READONLY == 0
  74          DRESULT disk_write (
  75                  BYTE drv,                       /* Physical drive nmuber (0..) */
  76                  const BYTE *buff,       /* Data to be written */
  77                  DWORD sector,           /* Sector address (LBA) */
  78                  UINT count                      /* Number of sectors to write  */
  79          )
  80          {
  81   1              if (drv || !count) return RES_PARERR;
  82   1              if (Stat & STA_NOINIT) return RES_NOTRDY;
  83   1      
  84   1              if (count == 1)/* Single block write */
  85   1              {       
  86   2                      if(!SD_writeSingleBlock(buff, sector)) count = 0;
  87   2                      
  88   2              }
  89   1              else/* Multiple block write */
  90   1              {                                                       
  91   2                      if(!SD_writeMultipleBlock (buff, sector, count)) count = 0;
  92   2              }
  93   1      
  94   1              return count ? RES_ERROR : RES_OK;
  95   1      }
  96          #endif /* _READONLY */
  97          
  98          /*-----------------------------------------------------------------------*/
  99          /* Miscellaneous Functions                                               */
 100          
 101          DRESULT disk_ioctl (
 102                  BYTE drv,               /* Physical drive nmuber (0..) */
 103                  BYTE ctrl,              /* Control code */
 104                  void *buff              /* Buffer to send/receive control data */
 105          )
 106          {
 107   1              DRESULT res;
 108   1              BYTE n, csd[16];
 109   1              DWORD csize;
 110   1      
 111   1              if (drv) return RES_PARERR;
 112   1              if (Stat & STA_NOINIT) return RES_NOTRDY;
 113   1      
 114   1              res = RES_ERROR;
 115   1      
 116   1              switch (ctrl) {
 117   2                      case CTRL_SYNC :        /* Flush dirty buffer if present */
C51 COMPILER V7.06   DISKIO                                                                03/06/2010 17:37:26 PAGE 3   

 118   2                              return RES_OK;
 119   2                              break;
 120   2      
 121   2                      case GET_SECTOR_COUNT : /* Get number of sectors on the disk (WORD) */
 122   2                              if((SD_sendCommand(CMD9, 0) == 0) && receive_DataBlock(csd, 16)) 
 123   2                              {
 124   3                                      if((csd[0] >> 6) == 1) /* SDC ver 2.00 */
 125   3                                      {       
 126   4                                              csize = csd[9] + ((WORD)csd[8] << 8) + 1;
 127   4                                              *(DWORD*)buff = (DWORD)csize << 10;
 128   4                                      } 
 129   3                                      else /* MMC or SDC ver 1.XX */
 130   3                                      {                               
 131   4                                              n = (csd[5] & 15) + ((csd[10] & 128) >> 7) + ((csd[9] & 3) << 1) + 2;
 132   4                                              csize = (csd[8] >> 6) + ((WORD)csd[7] << 2) + ((WORD)(csd[6] & 3) << 10) + 1;
 133   4                                              *(DWORD*)buff = (DWORD)csize << (n - 9);
 134   4                                      }
 135   3                                      res = RES_OK;
 136   3                              }
 137   2                              break;
 138   2      
 139   2                      case GET_SECTOR_SIZE :  /* Get sectors on the disk (WORD) */
 140   2                              *(WORD*)buff = 512;
 141   2                              res = RES_OK;
 142   2                              break;
 143   2      
 144   2                      case GET_BLOCK_SIZE :   /* Get erase block size in unit of sectors (DWORD) */
 145   2                              if ((SD_sendCommand(CMD9, 0) == 0) && receive_DataBlock(csd, 16)) /* Read CSD */
 146   2                              {       
 147   3                                      *(DWORD*)buff = (((csd[10] & 63) << 1) + ((WORD)(csd[11] & 128) >> 7) + 1) << ((csd[13] >> 6) - 1);
 148   3                                      res = RES_OK;
 149   3                              }
 150   2                              break;
 151   2      
 152   2                      default:
 153   2                              res = RES_PARERR;
 154   2              }
 155   1      
 156   1              return res;
 157   1      }
 158          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    762    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      1      43
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   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一区二区三区免费野_久草精品视频
国产精品久99| 国产精品久久久久久户外露出 | 福利电影一区二区| 99re热视频精品| 91精品国产综合久久国产大片 | 中文字幕电影一区| 蜜桃在线一区二区三区| youjizz久久| 精品日韩在线观看| 亚洲午夜免费电影| av成人免费在线观看| 欧美一区二区三区四区五区| 一级做a爱片久久| 成人黄色综合网站| 久久蜜臀精品av| 国产一区二区三区四| 欧美精品久久天天躁| 亚洲视频狠狠干| aaa亚洲精品| 国产精品天美传媒| eeuss鲁片一区二区三区| 久久综合九色综合欧美98| 狂野欧美性猛交blacked| 日韩一卡二卡三卡四卡| 亚洲国产裸拍裸体视频在线观看乱了 | 天天操天天干天天综合网| 国产一区二区三区在线观看免费视频 | 青青草精品视频| 欧美高清dvd| 日本不卡中文字幕| 欧美日韩在线三级| 丁香亚洲综合激情啪啪综合| 久久久99久久| 色婷婷综合五月| 日韩经典一区二区| 一二三区精品视频| 一本久久a久久精品亚洲| 亚洲国产综合91精品麻豆| 欧美一区二区视频在线观看2022| 亚洲在线观看免费视频| 欧美日韩在线三级| 国产ts人妖一区二区| 亚洲国产综合在线| 精品久久人人做人人爽| 91麻豆国产自产在线观看| 日韩精品国产精品| 最新不卡av在线| 精品精品欲导航| 色狠狠桃花综合| 成人性视频免费网站| 日韩和欧美一区二区三区| 久久久99久久精品欧美| 91精品国产91久久久久久最新毛片 | 免费日韩伦理电影| 1区2区3区国产精品| 日韩写真欧美这视频| 一本一道波多野结衣一区二区| 亚洲色图.com| 日本一区二区三区四区在线视频| 色悠久久久久综合欧美99| 国精产品一区一区三区mba桃花 | 亚洲一区二区三区四区五区中文 | 一个色妞综合视频在线观看| 国产精品网站一区| 中文字幕巨乱亚洲| 中文乱码免费一区二区| 日本一区二区三区四区在线视频| 色婷婷精品大在线视频| 9i在线看片成人免费| 国产精品88av| 成a人片国产精品| 91色.com| 欧美日韩黄色一区二区| 欧美日韩免费视频| 欧美日韩成人在线一区| 日韩亚洲欧美在线观看| 日韩欧美国产不卡| 久久中文娱乐网| 国产精品少妇自拍| 亚洲综合色婷婷| 日韩av网站在线观看| 蜜桃精品视频在线| 丁香婷婷综合五月| 欧美性xxxxx极品少妇| 日韩一区二区三区四区| 欧美激情一区二区| 亚洲成人一二三| 国产精品一品二品| 在线免费视频一区二区| 精品国产一区二区三区不卡| 国产精品伦理在线| 日韩 欧美一区二区三区| 国产在线精品一区二区不卡了| 蜜臀av一区二区在线观看| 成人av中文字幕| 精品国产一区二区三区久久久蜜月| 久久久精品蜜桃| 午夜视黄欧洲亚洲| 色婷婷综合久久| 日本一区二区三区久久久久久久久不 | 天堂成人国产精品一区| 看电视剧不卡顿的网站| 色婷婷狠狠综合| 最新高清无码专区| 成人激情视频网站| 精品久久五月天| 蜜臀国产一区二区三区在线播放| 久久99精品国产麻豆婷婷洗澡| 国产黄色91视频| 欧美mv日韩mv亚洲| 午夜精品久久久久久| 欧美网站一区二区| 亚洲一区二区三区自拍| 欧美在线小视频| 亚洲高清视频中文字幕| 欧美日韩亚洲综合一区| 亚洲人一二三区| 在线观看欧美精品| 天天免费综合色| 精品久久久久一区| 国产精品一卡二| 亚洲男女毛片无遮挡| 欧美性受xxxx| 久久精品国产精品青草| 久久人人爽爽爽人久久久| 国产盗摄女厕一区二区三区| 国产三级三级三级精品8ⅰ区| 免费av成人在线| 久久精品视频一区二区三区| 丁香婷婷综合网| 亚洲国产日韩a在线播放性色| 高清av一区二区| 亚洲一区在线观看免费观看电影高清 | 国产精品夜夜爽| 日本欧美一区二区三区乱码| 精品国产青草久久久久福利| av电影天堂一区二区在线 | 国产成人在线视频网站| 亚洲欧美综合另类在线卡通| 欧美日韩一区二区三区高清| 久久精品72免费观看| 国产精品国产馆在线真实露脸| 91福利国产精品| 懂色中文一区二区在线播放| 亚洲国产精品久久艾草纯爱| 久久久777精品电影网影网 | 亚洲国产欧美在线| 国产日韩精品一区二区三区| 欧美剧情片在线观看| 99精品国产视频| 成人一级片在线观看| 老司机精品视频一区二区三区| 亚洲精品一区二区三区精华液 | 欧美中文字幕一区二区三区亚洲| 日本成人在线电影网| 一区二区三区四区中文字幕| 久久精品一区八戒影视| 欧美人妇做爰xxxⅹ性高电影| 激情综合网av| 麻豆精品蜜桃视频网站| 日韩国产精品久久| 亚洲专区一二三| 亚洲综合图片区| 亚洲国产成人av好男人在线观看| 国产欧美视频一区二区| 国产片一区二区| 亚洲欧洲国产专区| ...xxx性欧美| 国内精品久久久久影院色 | 日韩精品一区二区三区在线观看 | 欧美高清一级片在线观看| 久久久亚洲精品石原莉奈| 亚洲国产成人在线| 日韩美女精品在线| 亚洲国产成人精品视频| 蜜臂av日日欢夜夜爽一区| 九九在线精品视频| 国产成人精品免费| 色成年激情久久综合| 88在线观看91蜜桃国自产| 精品久久一区二区三区| **欧美大码日韩| 国产在线播精品第三| 欧美日韩一区二区在线观看| 久久综合国产精品| 亚洲在线免费播放| 99久久综合国产精品| 日韩欧美国产麻豆| 亚洲精品免费在线观看| 国产欧美视频一区二区三区| 最新成人av在线| 99精品桃花视频在线观看| 久久久久综合网| 国产99久久久国产精品 | 国产色产综合色产在线视频 | 91成人看片片| 国产精品美女视频| 久热成人在线视频| 欧美老年两性高潮| 一区二区三区欧美日韩|