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

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

?? hpi32.lst

?? 51單片機(jī)讀寫(xiě)SD卡程序
?? LST
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
 450   1      }
 451          
 452          
 453          unsigned char WriteFile32(unsigned long writeLength,unsigned char *pBuffer)
 454          {
 455   1          unsigned long cnum;
 456   1              unsigned int  len,sector,i,tlen;
 457   1              unsigned char bSuccess,bStop;
 458   1              
 459   1              if(!bFlags.bits.SLAVE_IS_ATTACHED)
 460   1                      return FALSE;           
 461   1              if(!ThisFile.bFileOpen)
 462   1                      return FALSE;
 463   1              ThisFile.bFileOpen=0;
 464   1              bSuccess=1;
 465   1              bStop=0;
 466   1              tlen=0;
 467   1      
 468   1              while(writeLength>0)
 469   1              {
 470   2                      if(ThisFile.SectorofCluster>=DeviceInfo.BPB_SecPerClus)
 471   2                              {
 472   3                                      ThisFile.SectorofCluster=0;
 473   3                                       ThisFile.ClusterPointer=CreateClusterLink32(ThisFile.ClusterPointer);
 474   3                                       if(ThisFile.ClusterPointer==0x00)
 475   3                                              return FALSE;                           
 476   3                                       ThisFile.SectorPointer=FirstSectorofCluster32(ThisFile.ClusterPointer);        
 477   3                              }
 478   2      
 479   2                      if(writeLength+ThisFile.OffsetofSector>DeviceInfo.BPB_BytesPerSec)
 480   2                              len=DeviceInfo.BPB_BytesPerSec;
 481   2                      else
 482   2                              len=writeLength+ThisFile.OffsetofSector;
 483   2                         
 484   2                       //////////////////////////////////////////////////////
 485   2                       if(ThisFile.OffsetofSector>0)
 486   2                              {
 487   3                              if(SdReadSector(ThisFile.SectorPointer,1,DBUF))
 488   3                                      {
 489   4                                      
C51 COMPILER V7.00  HPI32                                                                  01/15/2008 09:38:32 PAGE 9   

 490   4                                      len=len-ThisFile.OffsetofSector;
 491   4                                      for(i=0;i<len;i++)                                      
 492   4                                              DBUF[ThisFile.OffsetofSector+i]=*(pBuffer+i);
 493   4                                      if(!SdWriteSector(ThisFile.SectorPointer,1,DBUF))
 494   4                                              return FALSE;                                           
 495   4                                      ThisFile.OffsetofSector=ThisFile.OffsetofSector+len;
 496   4                                      }
 497   3                              else
 498   3                                      return FALSE;                           
 499   3                              }
 500   2                       else
 501   2                              {
 502   3                              if(!SdWriteSector(ThisFile.SectorPointer,1,pBuffer+tlen))
 503   3                                      return FALSE;                           
 504   3                              ThisFile.OffsetofSector=len;
 505   3                              }
 506   2                       /////////////////////////////////////////////////////
 507   2                         writeLength-=len;
 508   2                         tlen+=len;
 509   2                       /////////////更新文件指針 //////////////////////////////
 510   2                        if(ThisFile.OffsetofSector>=DeviceInfo.BPB_BytesPerSec)
 511   2                         {    
 512   3                              ThisFile.OffsetofSector-=DeviceInfo.BPB_BytesPerSec;
 513   3                              ThisFile.SectorofCluster++;                     
 514   3                              
 515   3                              ThisFile.SectorPointer++;
 516   3                          }
 517   2                      
 518   2              
 519   2              }//end while
 520   1              ThisFile.pointer+=tlen;
 521   1              ///////////更新文件目錄信息/////////////////////////////
 522   1              if(bSuccess==1)
 523   1              {
 524   2                      NowCluster32=DirStartCluster32;         
 525   2                              do
 526   2                              {
 527   3                                      NowSector=FirstSectorofCluster32(NowCluster32);
 528   3                                      for(sector=0;sector<DeviceInfo.BPB_SecPerClus;sector++)
 529   3                                      {   
 530   4                                              if(!SdReadSector(NowSector+sector,1,DBUF))
 531   4                                                      return FALSE;                           
 532   4                                              for(i=0;i<DeviceInfo.BPB_BytesPerSec;i=i+32)
 533   4                                              {
 534   5                                                      cnum=LSwapINT32(DBUF[i+26],DBUF[i+27],DBUF[i+20],DBUF[i+21]);
 535   5                                                      if((cnum==ThisFile.StartCluster)&&(DBUF[i]!=0xe5))
 536   5                                                              {
 537   6                                                              if(ThisFile.pointer>ThisFile.LengthInByte)
 538   6                                                                      ThisFile.LengthInByte=ThisFile.pointer;                         
 539   6                                                              DBUF[i+28]=(unsigned char)(ThisFile.LengthInByte&0xff);
 540   6                                                              DBUF[i+29]=(unsigned char)((ThisFile.LengthInByte>>8)&0xff);
 541   6                                                              DBUF[i+30]=(unsigned char)((ThisFile.LengthInByte>>16)&0xff);
 542   6                                                              DBUF[i+31]=(unsigned char)((ThisFile.LengthInByte>>24)&0xff);
 543   6                                                              if(!SdWriteSector(NowSector+sector,1,DBUF))
 544   6                                                                      return FALSE;                   
 545   6                                                               bStop=1;
 546   6                                                               break;
 547   6                                                              }                                                       
 548   5                                      }
 549   4                                              if(bStop==1)break;
 550   4                                      }
 551   3                                      if(bStop==1)break;
C51 COMPILER V7.00  HPI32                                                                  01/15/2008 09:38:32 PAGE 10  

 552   3                                      NowCluster32=GetNextClusterNum32(NowCluster32);                 
 553   3                              }while(NowCluster32<=DeviceInfo.TotCluster);
 554   2                      
 555   2                      if(NowCluster32>DeviceInfo.TotCluster)
 556   2                      return FALSE;           
 557   2              }
 558   1              
 559   1              ThisFile.bFileOpen=1;
 560   1              //////////////////////////////////////////////
 561   1              return TRUE;
 562   1      }
 563          
 564          
 565          unsigned char RemoveFile32(unsigned char *pBuffer)
 566          {
 567   1              unsigned int sector,i;
 568   1              unsigned char bStop,j;
 569   1              int k;
 570   1                      
 571   1              if(!bFlags.bits.SLAVE_IS_ATTACHED)
 572   1                      return FALSE;
 573   1      ////////////// 清除目錄/////////////////////////////////////            
 574   1              NowCluster32=DirStartCluster32;         
 575   1                      do
 576   1                      {
 577   2                              NowSector=FirstSectorofCluster32(NowCluster32);
 578   2                              for(sector=0;sector<DeviceInfo.BPB_SecPerClus;sector++)
 579   2                      {   
 580   3                                      if(!SdReadSector(NowSector+sector,1,DBUF))
 581   3                                              return FALSE;                           
 582   3                                      for(i=0;i<DeviceInfo.BPB_BytesPerSec;i=i+32)
 583   3                                      {
 584   4                                              if(DBUF[i]==0x00)
 585   4                                                      return FALSE;
 586   4                                              j=0;
 587   4                                              while(DBUF[i+j]==*(pBuffer+j))
 588   4                                              {
 589   5                                                       j=j+1;
 590   5                                                       if(j>10)
 591   5                                                              break;
 592   5                                              }
 593   4                                              if(j>10)
 594   4                                              { 
 595   5                                                      DBUF[i]=0xE5;
 596   5                                                      ThisFile.StartCluster=LSwapINT32(DBUF[i+26],DBUF[i+27],DBUF[i+20],DBUF[i+21]);
 597   5                                                      for(k=(i-32);k>=0;k=k-32)
 598   5                                                      {
 599   6                                                      if(DBUF[k+11]==0x0F)
 600   6                                                              DBUF[k]=0xE5;
 601   6                                                      else
 602   6                                                              break;
 603   6                                                      }
 604   5                                                      DelayMs(15);
 605   5                                                      if(!SdWriteSector(NowSector+sector,1,DBUF))
 606   5                                                              return FALSE;                                   
 607   5                                      //////////////////// 清除FAT中的紀(jì)錄////////////////////////
 608   5                                                      DelayMs(10);
 609   5                                                      if(!DeleteClusterLink32(ThisFile.StartCluster))
 610   5                                                              return FALSE;                                   
 611   5                                                      bStop=1;
 612   5                                                      break;
 613   5                                                      }
C51 COMPILER V7.00  HPI32                                                                  01/15/2008 09:38:32 PAGE 11  

 614   4                                      }
 615   3                                      if(bStop==1)break;              
 616   3                      }
 617   2                              if(bStop==1)break;      
 618   2                              NowCluster32=GetNextClusterNum32(NowCluster32);                 
 619   2                      }while(NowCluster32<=DeviceInfo.TotCluster);    
 620   1              
 621   1              if(NowCluster32>DeviceInfo.TotCluster)
 622   1                  return FALSE;
 623   1              
 624   1              return TRUE;
 625   1      }
 626          
 627          
 628          unsigned char GetCapacity32(void)
 629          {
 630   1              unsigned int sectorNum,i;       
 631   1              unsigned long FreeSize,Freesectorcnt;
 632   1      
 633   1              if(!bFlags.bits.SLAVE_IS_ATTACHED)
 634   1                      return FALSE;
 635   1                      
 636   1              ////////////////////////////////////////////////////////////////////////
 637   1              sectorNum=DeviceInfo.FatStartSector;
 638   1              Freesectorcnt=0;
 639   1              while(sectorNum<DeviceInfo.BPB_FATSz32+DeviceInfo.FatStartSector)
 640   1              {
 641   2                      
 642   2                      if(SdReadSector(sectorNum,1,DBUF))
 643   2                      {
 644   3                        for(i=0;i<DeviceInfo.BPB_BytesPerSec;i=i+4)
 645   3                              {                        
 646   4                               if((DBUF[i]||DBUF[i+1]||DBUF[i+2]||DBUF[i+3])==0x00)
 647   4                                      {       
 648   5                                      Freesectorcnt++;
 649   5                                      }         
 650   4                              }       
 651   3                      }
 652   2                      else                    
 653   2                              return FALSE;                   
 654   2                      sectorNum++;
 655   2              }
 656   1              
 657   1              ////////////////////////////////////////////////////////////////////////
 658   1              FreeSize=DeviceInfo.BPB_BytesPerSec*DeviceInfo.BPB_SecPerClus;
 659   1              FreeSize=Freesectorcnt*FreeSize;
 660   1              
 661   1              UARTBUF[0]=(unsigned char)((FreeSize>>24)&0xff);
 662   1              UARTBUF[1]=(unsigned char)((FreeSize>>16)&0xff);
 663   1              UARTBUF[2]=(unsigned char)((FreeSize>>8)&0xff);
 664   1              UARTBUF[3]=(unsigned char)(FreeSize&0xff);
 665   1              Response.len=4;
 666   1              return TRUE;
 667   1      }
 668          
 669          
 670          unsigned char CreateDir32(unsigned long len,unsigned char *pBuffer,unsigned char *pName)
 671          {
 672   1              unsigned int sector,i,j,DirCount;
 673   1              unsigned long cnum;
 674   1              unsigned char xdata bstop,InByte,bwrite;
 675   1              unsigned long ClusterPointer;
C51 COMPILER V7.00  HPI32                                                                  01/15/2008 09:38:32 PAGE 12  

 676   1              
 677   1              if(!bFlags.bits.SLAVE_IS_ATTACHED)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区三区四区在线视频 | 7777精品伊人久久久大香线蕉经典版下载| 色94色欧美sute亚洲线路二| 日韩一级二级三级| 亚洲日本乱码在线观看| 免费国产亚洲视频| 日本精品视频一区二区| 久久色在线视频| 日韩电影免费在线| 91热门视频在线观看| 26uuu精品一区二区在线观看| 亚洲一区二区三区小说| 成人avav影音| 久久久久久免费网| 九九精品视频在线看| 在线播放中文字幕一区| 亚洲精品水蜜桃| 99国产精品久| 一区在线观看视频| 成人永久看片免费视频天堂| 精品国产一区久久| 奇米亚洲午夜久久精品| 欧美男男青年gay1069videost| 伊人开心综合网| 91丨porny丨最新| 国产精品超碰97尤物18| 成人综合在线视频| 亚洲国产精品成人综合色在线婷婷| 另类小说图片综合网| 欧美一区二区三区影视| 日韩精品一区第一页| 欧美一区二区三区日韩视频| 日韩电影免费一区| 日韩午夜电影av| 激情久久五月天| 久久综合视频网| 国产精品 日产精品 欧美精品| 久久亚洲一级片| 丁香啪啪综合成人亚洲小说 | 国产一区二区三区综合| 欧美成人综合网站| 国产一区二区在线免费观看| 国产午夜精品一区二区| 国产河南妇女毛片精品久久久| 国产日韩欧美综合一区| 成人精品一区二区三区中文字幕| 国产精品久久久久久久浪潮网站| a级高清视频欧美日韩| 亚洲日本韩国一区| 精品视频一区 二区 三区| 午夜精品久久久久久久久久久 | 青娱乐精品视频在线| 日韩欧美专区在线| 国产在线精品一区二区| 国产精品国产三级国产三级人妇 | 欧美精品在线观看一区二区| 性做久久久久久久免费看| 制服丝袜在线91| 狠狠色狠狠色综合日日91app| 亚洲国产精品传媒在线观看| 色婷婷av一区二区三区软件 | 亚洲免费观看高清完整版在线观看熊| 91福利在线播放| 免费成人在线观看视频| 欧美国产禁国产网站cc| 欧美自拍丝袜亚洲| 久久99久久久久久久久久久| 国产日本欧美一区二区| 91国产丝袜在线播放| 久久精品国内一区二区三区| 中文字幕日韩一区二区| 欧美精品乱码久久久久久| 国产精品一区二区久久不卡| 亚洲影院在线观看| 欧美不卡在线视频| 91高清视频在线| 国产美女主播视频一区| 亚洲一区二区三区视频在线| 精品成人一区二区三区四区| 欧洲一区在线电影| 国产成人av一区二区三区在线观看| 亚洲精品伦理在线| www国产精品av| 欧美午夜影院一区| 99久久99久久精品免费观看| 久久99热这里只有精品| 一区二区三区日本| 中文字幕巨乱亚洲| 欧美大尺度电影在线| 欧美午夜电影在线播放| bt欧美亚洲午夜电影天堂| 久久精品72免费观看| 亚洲高清中文字幕| 亚洲丝袜美腿综合| 久久久久国产一区二区三区四区| 在线成人av网站| 欧美影视一区在线| 99精品黄色片免费大全| 九九九精品视频| 蜜臀a∨国产成人精品| 午夜久久久久久久久| 一区二区三区在线视频免费| 一色屋精品亚洲香蕉网站| 国产欧美一区二区精品婷婷| 精品奇米国产一区二区三区| 日韩一区二区在线看| 欧美日韩三级视频| 欧美性感一区二区三区| 日韩一区二区在线播放| 91精品午夜视频| 欧美日韩国产美| 欧美男男青年gay1069videost| 欧美日韩亚洲综合在线| 欧美午夜精品免费| 欧美嫩在线观看| 欧美一区二区三区免费在线看| 精品视频一区二区三区免费| 欧美老年两性高潮| 欧美精品九九99久久| 91精品啪在线观看国产60岁| 欧美一区二区视频在线观看2020 | 亚洲欧洲另类国产综合| 日本一区二区高清| 国产精品伦一区| 中文字幕在线不卡视频| 亚洲美女少妇撒尿| 亚洲影视在线观看| 视频一区欧美日韩| 久久精品久久综合| 国产原创一区二区| 成人爱爱电影网址| 欧美性做爰猛烈叫床潮| 欧美女孩性生活视频| 欧美mv日韩mv国产网站app| 久久免费偷拍视频| 中文字幕在线不卡一区二区三区| 亚洲啪啪综合av一区二区三区| 一区二区三区精品视频| 午夜精彩视频在线观看不卡| 久久99国产精品麻豆| 粉嫩久久99精品久久久久久夜| 95精品视频在线| 欧美精品自拍偷拍| 欧美国产日韩精品免费观看| 一区二区三区在线免费观看| 日本免费新一区视频| 国产乱码精品一品二品| 色婷婷综合在线| 欧美一卡2卡3卡4卡| 一区二区三区免费看视频| 亚洲综合一区二区三区| 青青草国产成人av片免费| 国产成人午夜电影网| 99久久精品久久久久久清纯| 欧美日韩国产一级片| 国产亚洲一区二区三区四区| 亚洲与欧洲av电影| 国产凹凸在线观看一区二区| 欧美图片一区二区三区| 精品国产99国产精品| 一区二区三区四区乱视频| 美女视频黄a大片欧美| 成人福利视频网站| 欧美一区二区三区男人的天堂| 成人欧美一区二区三区小说| 美女视频网站黄色亚洲| 97久久精品人人爽人人爽蜜臀| 91精品麻豆日日躁夜夜躁| 综合婷婷亚洲小说| 国产在线麻豆精品观看| 欧美日韩一区成人| 国产精品理论片| 韩国理伦片一区二区三区在线播放| 一本大道久久a久久精二百| 久久久久久久精| 麻豆精品视频在线观看免费| 在线观看国产精品网站| 日韩伦理免费电影| 国产91精品久久久久久久网曝门| 7777精品伊人久久久大香线蕉经典版下载 | 日本成人在线看| 91麻豆福利精品推荐| 久久精品视频一区二区三区| 首页国产欧美久久| 在线精品视频免费播放| 亚洲欧美日韩国产综合在线 | 亚洲欧洲美洲综合色网| 国产成人免费在线观看| 欧美群妇大交群的观看方式| 亚洲制服丝袜av| 日本韩国一区二区三区| 亚洲日本va在线观看| 91丨九色丨黑人外教| 中文字幕中文字幕在线一区| 国产成人精品一区二区三区四区| 日韩一本二本av| 麻豆国产一区二区| 日韩欧美一级在线播放| 久热成人在线视频| 欧美成人国产一区二区|