<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MSP430F149的內(nèi)部Flash

          MSP430F149的內(nèi)部Flash

          作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
          MSP430F149內(nèi)部的memory結(jié)構(gòu),60K Flash+2K RAM。Flash分為主存儲區(qū)和信息存儲區(qū),操作都一樣,只是主存儲區(qū)每個段512字節(jié),而信息存儲區(qū)為128字節(jié),方便擦寫。

          本文引用地址:http://www.ex-cimer.com/article/201611/320875.htm


          當(dāng)我們有數(shù)據(jù)要保存到Flash存儲器時,要先對目標(biāo)段進(jìn)行整段擦除操作,擦除操作使的對應(yīng)段FLASH存儲器變成全“1”。應(yīng)當(dāng)注意的是,此flash的操作頻率為257 kHz到 476 kHz,時鐘源可選擇,因此我們做時鐘分頻時應(yīng)當(dāng)保證頻率在這之間,以下為我編寫的參考程序。

          void Flash_erase(uint addr)
          {//段擦除,512bytes一段
          uchar s;
          s=__get_interrupt_state();//保存當(dāng)前中斷狀態(tài)
          __disable_interrupt();
          while(FCTL3&BUSY);
          FCTL3=FWKEY;

          FCTL1=FWKEY+ERASE;
          *(uchar*)addr=0;
          while(FCTL3&BUSY);
          FCTL3=FWKEY+LOCK;
          __set_interrupt_state(s);//恢復(fù)中斷狀態(tài)
          }

          void Flash_write(uint addr,uchar dat)
          {//單字節(jié)寫入
          uchar s;
          s=__get_interrupt_state();
          __disable_interrupt();
          while(FCTL3&BUSY);
          FCTL3=FWKEY;
          FCTL1=FWKEY+WRT;
          *(uchar*)addr=dat;
          while(FCTL3&BUSY);
          FCTL1=FWKEY;
          FCTL3=FWKEY+LOCK;
          __set_interrupt_state(s);
          }

          void Flash_read(uint addr,uint len)
          {//讀取到數(shù)組,此處堆棧應(yīng)改大
          uint i;
          for(i=0;i *(R+i)=*(uchar*)(addr+i);
          }



          關(guān)鍵詞: MSP430F149內(nèi)部Flas

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();