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

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

?? hpi32.lst

?? 51單片機讀寫SD卡程序
?? LST
?? 第 1 頁 / 共 4 頁
字號:
 222   1              ThisFile.FatSectorPointer=0;    
 223   1              ThisFile.pointer=0;
 224   1              
 225   1              Response.len=32;
 226   1              return TRUE;    
 227   1      }
 228          
 229          
 230          unsigned char ReadFile32(unsigned long readLength,unsigned char *pBuffer)
 231          {
 232   1      
 233   1              unsigned int len,i;
 234   1              unsigned int tlen;      
 235   1              unsigned long blen;
 236   1      
 237   1              if(!bFlags.bits.SLAVE_IS_ATTACHED)
 238   1                      return FALSE;           
 239   1              if(!ThisFile.bFileOpen)
 240   1                      return FALSE;
 241   1      
C51 COMPILER V7.00  HPI32                                                                  01/15/2008 09:38:32 PAGE 5   

 242   1              blen=readLength;
 243   1              tlen=0;
 244   1              if(readLength>MAX_READ_LENGTH)
 245   1                      return FALSE;   
 246   1              
 247   1              if(readLength+ThisFile.pointer>ThisFile.LengthInByte)
 248   1                      return FALSE;   
 249   1                      
 250   1              ////////////////////////////////////////////            
 251   1                      while(readLength>0)
 252   1                      {
 253   2                         if(ThisFile.SectorofCluster>=DeviceInfo.BPB_SecPerClus)
 254   2                              {
 255   3                                      ThisFile.SectorofCluster=0;
 256   3                                       ThisFile.ClusterPointer=GetNextClusterNum32(ThisFile.ClusterPointer);
 257   3                                       if(ThisFile.ClusterPointer>DeviceInfo.TotCluster)
 258   3                                                 return FALSE;                                                
 259   3                                       ThisFile.SectorPointer=FirstSectorofCluster32(ThisFile.ClusterPointer);        
 260   3                              }
 261   2      
 262   2                         if(readLength+ThisFile.OffsetofSector>DeviceInfo.BPB_BytesPerSec)
 263   2                              len=DeviceInfo.BPB_BytesPerSec;
 264   2                         else
 265   2                              len=readLength+ThisFile.OffsetofSector;
 266   2                         
 267   2                         //////////////////////////////////////////////////////
 268   2                         if(ThisFile.OffsetofSector>0)
 269   2                              {
 270   3                              if(SdReadSector(ThisFile.SectorPointer,1,DBUF))
 271   3                                      {
 272   4                                      
 273   4                                      len=len-ThisFile.OffsetofSector;
 274   4                                      for(i=0;i<len;i++)
 275   4                                              
 276   4                                              *(pBuffer+i)=DBUF[ThisFile.OffsetofSector+i];
 277   4                                      ThisFile.OffsetofSector=ThisFile.OffsetofSector+len;
 278   4                                      }
 279   3                              else
 280   3                                      return FALSE;                           
 281   3                              }
 282   2                         else
 283   2                              {
 284   3                                      if(!SdReadSector(ThisFile.SectorPointer,1,pBuffer+tlen))
 285   3                                                      return FALSE;   
 286   3                                      ThisFile.OffsetofSector=len;
 287   3                              }
 288   2                         ////////////////////////////////////////////////////////////
 289   2                         readLength-=len;
 290   2                         tlen+=len;
 291   2                        
 292   2                         /////////////////////////////////////////////////////////
 293   2                         if(ThisFile.OffsetofSector>=DeviceInfo.BPB_BytesPerSec)
 294   2                         {    
 295   3                              ThisFile.OffsetofSector-=DeviceInfo.BPB_BytesPerSec;
 296   3                              ThisFile.SectorofCluster+=1;
 297   3                              
 298   3                               ThisFile.SectorPointer+=1;
 299   3                          }
 300   2                         //////////////////////////////////////////////////////////////////
 301   2                      }//end while
 302   1                      
 303   1              ThisFile.bFileOpen=1;
C51 COMPILER V7.00  HPI32                                                                  01/15/2008 09:38:32 PAGE 6   

 304   1              ThisFile.pointer+=tlen;
 305   1              //////////////////////////////////////////////
 306   1              Response.len=blen;
 307   1      
 308   1              return TRUE;
 309   1      }
 310          
 311          unsigned char SetFilePointer32(unsigned long pointer)
 312          {
 313   1              if(!bFlags.bits.SLAVE_IS_ATTACHED)
 314   1                      return FALSE;           
 315   1              if(!ThisFile.bFileOpen)
 316   1                      return FALSE;           
 317   1              ///////////////////////////////////////////////////////////
 318   1              ThisFile.pointer=pointer;
 319   1              if(ThisFile.pointer>ThisFile.LengthInByte)
 320   1                      return FALSE;   
 321   1      
 322   1              if(!GoToPointer32(ThisFile.pointer))
 323   1              {
 324   2              ThisFile.bFileOpen=0;
 325   2              return FALSE;   
 326   2              }
 327   1              //////////////////////////////////////////////
 328   1              return TRUE;
 329   1      }
 330          
 331          unsigned char CreateFile32(unsigned long len,unsigned char *pBuffer,unsigned char *pName)
 332          {
 333   1              unsigned int sector,i,j,DirCount;
 334   1              unsigned long cnum;
 335   1              unsigned char xdata bstop,InByte,bwrite;
 336   1              unsigned long ClusterPointer;
 337   1              
 338   1              if(!bFlags.bits.SLAVE_IS_ATTACHED)
 339   1                      return FALSE;
 340   1              if((len%32)!=0)
 341   1                      return FALSE;
 342   1              if((len+32)>DeviceInfo.BPB_BytesPerSec)
 343   1                      return FALSE;
 344   1      
 345   1              ThisFile.bFileOpen=0;   
 346   1      
 347   1              cnum=GetFreeCusterNum32();
 348   1              if(cnum<0x02)
 349   1                      return FALSE;   
 350   1      
 351   1              pBuffer[21]=(unsigned char)(cnum>>24);
 352   1              pBuffer[20]=(unsigned char)(cnum>>16);
 353   1              pBuffer[27]=(unsigned char)(cnum>>8);
 354   1              pBuffer[26]=(unsigned char)(cnum);
 355   1      
 356   1              pBuffer[28]=0;pBuffer[29]=0;pBuffer[30]=0;pBuffer[31]=0;
 357   1              bstop=0;
 358   1      
 359   1              NowCluster32=DirStartCluster32;         
 360   1                      do
 361   1                      {
 362   2                              NowSector=FirstSectorofCluster32(NowCluster32);
 363   2                              ClusterPointer=NowCluster32;
 364   2                              for(sector=0;sector<DeviceInfo.BPB_SecPerClus;sector++)
 365   2                      {   
C51 COMPILER V7.00  HPI32                                                                  01/15/2008 09:38:32 PAGE 7   

 366   3                                      if(!SdReadSector(NowSector+sector,1,DBUF))
 367   3                                              return FALSE;
 368   3                                      DirCount=0;bwrite=0;
 369   3      
 370   3                                      for(i=0;i<DeviceInfo.BPB_BytesPerSec;i=i+32)
 371   3                                      {
 372   4                                      if(len==0)
 373   4                                              {
 374   5                                              if((DBUF[i]==0x00)||(DBUF[i]==0xE5))
 375   5                                              {
 376   6                                              for(j=0;j<32;j++)
 377   6                                                      DBUF[i+j]=*(pBuffer+j);
 378   6                                              if(!SdWriteSector(NowSector+sector,1,DBUF))
 379   6                                                      return FALSE;                                   
 380   6                                              bstop=1;
 381   6                                              break;
 382   6                                              }               
 383   5                                              }
 384   4                                      else
 385   4                                      {
 386   5                                      if(DirCount==0)
 387   5                                              InByte=i;
 388   5                                      if(DBUF[i]==0xE5)                               
 389   5                                              DirCount++;                             
 390   5                                      else if(DBUF[i]==0x00)
 391   5                                              {       
 392   6                                              DirCount++;     
 393   6                                              DBUF[i]=0xE5;   
 394   6                                              bwrite=1;                               
 395   6                                              }
 396   5                                      else
 397   5                                              DirCount=0;
 398   5      
 399   5                                      if((DirCount*32)>=(len+32))
 400   5                                              {
 401   6                                              for(j=0;j<len;j++)
 402   6                                                      DBUF[InByte+j]=*(pName+j);
 403   6                                              for(j=0;j<32;j++)
 404   6                                                      DBUF[InByte+len+j]=*(pBuffer+j);
 405   6                                              if(!SdWriteSector(NowSector+sector,1,DBUF))
 406   6                                                      return FALSE;                                   
 407   6                                              bstop=1;
 408   6                                              break;
 409   6                                              }
 410   5                                       }
 411   4                                      }
 412   3                                      if(bstop==1)break;
 413   3                                      
 414   3                                      if((len!=0)&&(bwrite==1))
 415   3                                      {
 416   4                                      if(!SdWriteSector(NowSector+sector,1,DBUF))
 417   4                                              return FALSE;
 418   4                              }
 419   3                      }
 420   2                              if(bstop==1)break;
 421   2              
 422   2                              NowCluster32=GetNextClusterNum32(NowCluster32);
 423   2                              if(NowCluster32>DeviceInfo.TotCluster)
 424   2                      {
 425   3                              NowCluster32=CreateClusterLink32(ClusterPointer);
 426   3                              if(NowCluster32==0x00)
 427   3                                       return FALSE;
C51 COMPILER V7.00  HPI32                                                                  01/15/2008 09:38:32 PAGE 8   

 428   3                              NowSector=FirstSectorofCluster32(NowCluster32);
 429   3                              for(i=0;i<DeviceInfo.BPB_BytesPerSec;i++) DBUF[i]=0x00;
 430   3                              for(sector=0;sector<DeviceInfo.BPB_SecPerClus;sector++)
 431   3                                      {
 432   4                                      if(!SdWriteSector(NowSector+sector,1,DBUF))
 433   4                                              return FALSE;
 434   4                                      }
 435   3                              }
 436   2                      }while(NowCluster32<=DeviceInfo.TotCluster);    
 437   1      ////////////////////////////////////////////////////////////////
 438   1              
 439   1              ThisFile.StartCluster=cnum;
 440   1              ThisFile.LengthInByte=0;
 441   1              ThisFile.ClusterPointer=ThisFile.StartCluster;
 442   1              ThisFile.SectorPointer=FirstSectorofCluster32(ThisFile.StartCluster);
 443   1              ThisFile.OffsetofSector=0;
 444   1              ThisFile.SectorofCluster=0;
 445   1              ThisFile.bFileOpen=1;
 446   1              ThisFile.pointer=0;
 447   1              ThisFile.FatSectorPointer=0;
 448   1              
 449   1              return TRUE;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美伦理电影网| 亚洲视频狠狠干| 91猫先生在线| 波多野结衣中文一区| 国内精品写真在线观看| 麻豆成人91精品二区三区| 日一区二区三区| 日本网站在线观看一区二区三区| 日韩精品一级二级| 免费看欧美美女黄的网站| 热久久免费视频| 狠狠色狠狠色综合系列| 国产精品2024| 99精品久久只有精品| 日韩一区二区免费在线电影| 欧美变态tickle挠乳网站| www久久精品| 国产精品日日摸夜夜摸av| 中文字幕一区二区三区视频 | 日韩亚洲欧美一区| 日韩精品一区二区三区在线观看| 精品久久国产老人久久综合| 国产亚洲短视频| 亚洲精品成a人| 日本欧美一区二区三区| 国产成人在线色| 在线亚洲+欧美+日本专区| 日韩欧美电影在线| 国产精品国产精品国产专区不蜜 | 精品国产91亚洲一区二区三区婷婷| 欧美电视剧在线看免费| 日韩伦理免费电影| 五月天丁香久久| 成人国产精品免费观看视频| 欧美日韩你懂的| 亚洲一区二区三区美女| 毛片不卡一区二区| 91免费版在线看| 日韩丝袜美女视频| 一区二区三区在线观看欧美| 久久精品国产秦先生| 91免费视频观看| 久久综合久久鬼色中文字| 亚洲国产一区视频| www.日韩av| 久久人人97超碰com| 亚洲国产精品久久人人爱| 国产**成人网毛片九色 | 欧美私人免费视频| 久久精品人人做人人综合| 亚洲国产精品久久人人爱 | 免费在线观看视频一区| 91蝌蚪国产九色| 国产亚洲精品久| 美女网站色91| 欧美年轻男男videosbes| 亚洲免费看黄网站| 国产成人自拍网| 26uuu色噜噜精品一区二区| 日韩经典一区二区| 欧美日韩一级片网站| 国产精品动漫网站| 国产成人精品影院| 久久一区二区视频| 韩国欧美国产1区| 欧美成人激情免费网| 亚洲成a人v欧美综合天堂| 在线观看视频91| 有坂深雪av一区二区精品| 99久久精品99国产精品| 国产精品国产三级国产aⅴ无密码| 国产一二三精品| 国产亚洲综合在线| 国产91丝袜在线播放九色| 国产精品天美传媒| 波多野结衣在线aⅴ中文字幕不卡| 国产精品网友自拍| 成人激情电影免费在线观看| 国产精品每日更新在线播放网址| 不卡的电视剧免费网站有什么| 国产精品福利av| 91国偷自产一区二区三区观看| 艳妇臀荡乳欲伦亚洲一区| 欧美视频一区二区| 三级在线观看一区二区| 日韩免费高清av| 国产精品1区2区| 17c精品麻豆一区二区免费| 91在线精品一区二区| 亚洲大片在线观看| 欧美α欧美αv大片| 国产成人综合亚洲网站| 中文av一区特黄| 欧洲av在线精品| 精品一区精品二区高清| 国产精品欧美经典| 欧美影院精品一区| 久久er精品视频| 亚洲色图.com| 日韩欧美一区在线| 成人在线综合网站| 天堂久久久久va久久久久| 精品福利一二区| 日本高清成人免费播放| 久久精品国内一区二区三区| 国产欧美日本一区视频| 欧美在线看片a免费观看| 麻豆精品新av中文字幕| 国产精品成人免费在线| 欧美放荡的少妇| 成人免费毛片app| 日韩影院精彩在线| 国产女同性恋一区二区| 欧美另类变人与禽xxxxx| 国产美女娇喘av呻吟久久| 一区二区三区精品在线| 精品av综合导航| 欧美亚洲高清一区| 成人综合日日夜夜| 蜜桃久久久久久| 亚洲激情在线播放| 国产无人区一区二区三区| 欧美顶级少妇做爰| 色国产综合视频| 国产成人av资源| 久久 天天综合| 丝袜亚洲精品中文字幕一区| 日韩久久一区二区| 国产无一区二区| 久久综合久久鬼色中文字| 欧美电影一区二区| 色综合天天综合在线视频| 丁香啪啪综合成人亚洲小说| 久久国产精品色婷婷| 性欧美大战久久久久久久久| 一区二区视频在线看| 国产精品久久久一区麻豆最新章节| 337p粉嫩大胆色噜噜噜噜亚洲| 69堂国产成人免费视频| 欧美午夜精品一区二区蜜桃| 99re成人精品视频| 粉嫩绯色av一区二区在线观看| 国产一区二区网址| 久久99精品久久久久久| 蜜臀av性久久久久蜜臀aⅴ流畅 | 成人av免费在线| 成人国产一区二区三区精品| 成人在线视频首页| 国产精品一品视频| 成人午夜伦理影院| 成人av网址在线观看| 91香蕉视频在线| 91女神在线视频| 欧美在线观看一二区| 欧美日韩小视频| 制服丝袜av成人在线看| 日韩欧美一级片| 久久新电视剧免费观看| 国产午夜精品一区二区三区视频 | 91精品国产黑色紧身裤美女| 欧美日韩成人在线| 欧美一区二区福利在线| 精品久久一区二区| 国产日韩精品一区二区浪潮av| 欧美国产日韩亚洲一区| 亚洲视频图片小说| 亚洲一区二区视频| 免费观看在线色综合| 国产河南妇女毛片精品久久久| jlzzjlzz欧美大全| 欧美性色综合网| 精品蜜桃在线看| 国产精品国产三级国产aⅴ无密码| 亚洲美女精品一区| 日韩精品福利网| 国产福利精品导航| 91麻豆国产福利在线观看| 91麻豆精品国产自产在线 | 91麻豆精品91久久久久久清纯| 日韩欧美美女一区二区三区| 中日韩av电影| 午夜激情久久久| 国产激情一区二区三区桃花岛亚洲| 成人免费不卡视频| 欧美裸体bbwbbwbbw| 欧美国产激情一区二区三区蜜月 | 国产精品一二三四区| 91麻豆福利精品推荐| 日韩一区二区免费在线电影| 国产精品卡一卡二卡三| 青草国产精品久久久久久| 成人精品一区二区三区四区| 欧美日韩精品一区视频| 国产女人aaa级久久久级| 亚洲国产成人精品视频| 国产成人免费视| 91精品国产综合久久香蕉的特点| 亚洲国产精品成人综合 | 亚洲色图19p| 国产一区二区日韩精品|