日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
AT45DB041讀寫(xiě)程序
AT45DB041讀寫(xiě)程序
 更新時(shí)間:2008-8-17 16:48:55  點(diǎn)擊數(shù):15
【字體: 字體顏色


void AT45DB041B_ContinuousArrayRead(UINT PA,UINT BFA,unsigned char *pHeader,UINT len){    
  unsigned int i;    

   while(!(AT45DB041B_StatusRegisterRead()&0x80));
 
//   while(i++<255){if(AT45DB041B_StatusRegisterRead()&0x80){break;}}
  SPI_CS=0;  

  SPI_HostWriteByte(0xe8);  
  SPI_HostWriteByte((unsigned char)(PA>>7));  
  SPI_HostWriteByte((unsigned char)((PA<<1) (BFA>>8)));
  SPI_HostWriteByte((unsigned char)BFA);
  for(i=0;i<4;i++){SPI_HostWriteByte(0x00);}
 
  for(i=0;i<len;i++){pHeader=SPI_HostReadByte();}
  SPI_CS=1;

}

/*描述:                                               */
/*   將指定數(shù)據(jù)寫(xiě)入從某個(gè)地址(0~263)開(kāi)始的BUFFER中。               */
/*參數(shù):                                               */
/*   buffer - 選擇BUFFER,01H選擇BUFFER 1,02H選擇BUFFER 2             */
/*         在該指令序列中,操作碼84H選擇BUFFER 1,87H選擇BUFFER 2     */
/*   BFA   - BUFFER中的起始地址,0~263                         */
/*   pHeader - 待存數(shù)據(jù)的頭指針                               */
/*   len   - 待存數(shù)據(jù)的長(zhǎng)度1~264                             */

void AT45DB041B_BufferWrite(UCHAR buffer,UINT BFA,UCHAR *pHeader,UINT len){
  unsigned int i;

   while(!(AT45DB041B_StatusRegisterRead()&0x80));  
  //while(i++<255){if(AT45DB041B_StatusRegisterRead()&0x80){break;}}
  SPI_CS=0;  

  switch(buffer){
    case 1:SPI_HostWriteByte(0x84);break;
    case 2:SPI_HostWriteByte(0x87);break;
  }
  SPI_HostWriteByte(0x00);
  SPI_HostWriteByte((unsigned char)(BFA>>8));
  SPI_HostWriteByte((unsigned char)BFA);
 
  for(i=0;i<len;i++){SPI_HostWriteByte(pHeader
);}
  SPI_CS=1;  
 
}
/*描述:                                               */
/*   將指定數(shù)據(jù)寫(xiě)入從某個(gè)地址(0~263)開(kāi)始的頁(yè)中:包含2個(gè)動(dòng)作,首先將指定數(shù)據(jù)*/
/*   寫(xiě)入到BUFFER 1或者BUFFER 2中,其中可以指定BUFFER中的起始寫(xiě)入地址,此寫(xiě)入*/
/*   動(dòng)作不影響B(tài)UFFER中其它地址中的數(shù)據(jù),然后再將BUFFER中的整個(gè)數(shù)據(jù)寫(xiě)入到某指*/
/*   定頁(yè)中(帶預(yù)擦除)。                                     */
/*參數(shù):                                               */
/*   buffer - 選擇BUFFER,01H選擇BUFFER 1,02H選擇BUFFER 2             */
/*   PA     - 頁(yè)地址,0~2047                                 */
/*   BFA   - 指定BUFFER中的起始寫(xiě)入地址                         */
/*   pHeader - 指定數(shù)據(jù)的首地址                               */
/*   len   - 指定數(shù)據(jù)的長(zhǎng)度                                 */

void AT45DB041B_BufferToMainMemoryPageProgramWithBuilt_inErase(UCHAR buffer,UINT PA,UINT BFA,UCHAR *pHeader,UINT len){
//   unsigned int i;

  AT45DB041B_BufferWrite(buffer,BFA,pHeader,len);
   while(!(AT45DB041B_StatusRegisterRead()&0x80));
//   while(i++<1000){if(AT45DB041B_StatusRegisterRead()&0x80){break;}}
       
  SPI_CS=0;

  switch(buffer){
    case 1:SPI_HostWriteByte(0x83);break;
    case 2:SPI_HostWriteByte(0x86);break;
  }
  SPI_HostWriteByte((unsigned char)(PA>>7));
  SPI_HostWriteByte((unsigned char)(PA<<1));
  SPI_HostWriteByte(0x00);
  SPI_CS=1;

}

/*描述:                                               */
/*   與上一個(gè)函數(shù)的唯一區(qū)別是不帶預(yù)擦除。                         */

void AT45DB041B_BufferToMainMemoryPageProgramWithoutBuilt_inErase(UCHAR buffer,UINT PA,UINT BFA,UCHAR *pHeader,UINT len){
  unsigned int i=0;

  AT45DB041B_BufferWrite(buffer,BFA,pHeader,len);

   while(!(AT45DB041B_StatusRegisterRead()&0x80));
//   while(i++<1000){if(AT45DB041B_StatusRegisterRead()&0x80){break;}}
 
  SPI_CS=0;
  SPI_HostWriteByte(0x87+buffer);
  SPI_HostWriteByte((unsigned char)(PA>>7));
  SPI_HostWriteByte((unsigned char)(PA<<1));
  SPI_HostWriteByte(0x00);
 
//   for(i=0;i<len;i++){SPI_HostWriteByte(pHeader
);}
  SPI_CS=1;

}


void main(void){

  unsigned char i;
  UCHAR data test[32];
//    SPI_RESET = 0;
//    SPI_WP = 0;
//   delay(2000);

//    SPI_RESET = 1;//
//    SPI_WP = 1;//取消寫(xiě)保護(hù)



  i=AT45DB041B_StatusRegisterRead();


  for(i = 0; i < 32; i++)
   {test
= i + 0x20;}
 
  AT45DB041B_BufferToMainMemoryPageProgramWithBuilt_inErase(1,0,0,test,32);
  memset(test,0x26,32);
  AT45DB041B_ContinuousArrayRead(0,0,test,32);

  for(i = 0; i < 32; i++)
   {test
= i + 0x10;}

  AT45DB041B_BufferToMainMemoryPageProgramWithoutBuilt_inErase(2,1,0,test,32);
  memset(test,0x55,32);
  AT45DB041B_ContinuousArrayRead(1,0,test,32);

  while(1){}
}

  • 上一篇: [轉(zhuǎn)載]用單片機(jī)軟件實(shí)現(xiàn)傳感器溫度誤差補(bǔ)償
  • 下一篇: 串口FLASH--AT45DB041
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1