《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 如何利用好MSP430芯片內(nèi)的information memory 作為掉電數(shù)據(jù)保存(EEPROM)
如何利用好MSP430芯片內(nèi)的information memory 作為掉電數(shù)據(jù)保存(EEPROM)
摘要: 我們用的MSP430時, 內(nèi)部有幾十個字節(jié)information memory 可以當(dāng)EEPROM來用, 無需再外擴(kuò)EEPROM芯片, 用量保存一下系數(shù)的掉電保存的數(shù)據(jù). 我一直用這個, 很好用.
關(guān)鍵詞: 軟件 MSP430
Abstract:
Key words :

我們用的MSP430時,  內(nèi)部有幾十個字節(jié)information memory 可以當(dāng)EEPROM來用, 無需再外擴(kuò)EEPROM芯片,  用量保存一下系數(shù)的掉電保存的數(shù)據(jù). 我一直用這個, 很好用.      

     特別說明:

     1.說明我用的是IAR編譯器,  在IAR上一定能通過 

    2. 利用information memory 作為EEPROM 掉電保存數(shù)據(jù),這是這段程序第一個亮點(diǎn);

    3. 寫information memory 必須在RAM中運(yùn)行程序.  將程序從flash 跑到RAM中運(yùn)行, 很有意思. 這是第二個亮點(diǎn).

    4. 源文件,下載 7824.flash.h2555.flash.c

 

 

#include "MSP430x16x.h"
#include "string.h"
#include"stdlib.h"
#include"flash.h"


/************************************************************************************
** 函數(shù)名稱: flashWrite
** 功能描述: 在MSP430flash中寫數(shù)據(jù)
**
** 輸  入: td:寫入地址, sd:源數(shù)據(jù)指針, size:寫入字節(jié)數(shù)
** 輸  出: 無
** 返 回 值: 返回需要發(fā)送給其他任務(wù)處理的數(shù)據(jù)塊的指針。
** 全局變量:
** 調(diào)用模塊:
** 作  者: 陳文浩
** 日  期: 2010年07月12日
************************************************************************************/
void flashWrite(unsigned char * td, unsigned char *sd, unsigned char size)
{
typedef void(*funp)(unsigned char*,unsigned char *, unsigned char); //定義函數(shù)指針類型
funp FLASHBLK;
char ramcode[100]; //ram內(nèi)程序及數(shù)組地址指針
_DINT();
//ramcode=(char *)malloc(sizeof(char)*100); //為放入內(nèi)存的子程分配空間(需先將heap值設(shè)為180)
FLASHBLK = flashWriteBlock; //函數(shù)指針賦值
memcpy(ramcode,(char *)FLASHBLK,100); //將塊寫子程放入ram中已分配空間
FLASHBLK=*(funp)ramcode; //將函數(shù)指針指向ram中的塊寫子程
flashErase(td); //段擦
(FLASHBLK)(td,sd, size); //塊寫(調(diào)用的是ram中的塊寫子程)
//free(ramcode); //釋放空間
_EINT(); //開放中斷
}


void flashWriteBlock(unsigned char * td,unsigned char *sd, unsigned char size)
{
int i;

while((FCTL3&BUSY)!=0x00); //檢測busy位
FCTL2=FWKEY+FSSEL_1+20; //flash模塊時鐘源為MCLK 分頻2
FCTL3=FWKEY; //解鎖
FCTL1=FWKEY+BLKWRT+WRT; //塊寫
for(i=0;i{
*td++=*sd++; //寫入
while((FCTL3&WAIT)==0); //檢測wait位 是否寫入該字
}
FCTL1=FWKEY; //BLKWRT WRT位復(fù)位
while((FCTL3&BUSY)!=0x00); //檢測BUSY位
FCTL3=FWKEY+LOCK; //鎖定

}
/*******************************************************************************/
/* 段擦除子程序 */
/*******************************************************************************/
void flashErase(unsigned char *td)
{
FCTL2=FWKEY+FSSEL_1+10; //flash模塊時鐘源位MCLK 分頻2
FCTL3=FWKEY; //解鎖
FCTL1=FWKEY+ERASE; //段擦除
*td=0; //在欲進(jìn)行操作的段中空寫,啟動擦除操作
FCTL3=FWKEY+LOCK; //鎖定
}

//功能:FLASH操作 BYTE數(shù)據(jù)寫入
//編程時鐘:257KHZ~476KHZ
void flashWriteByte(unsigned char * pdata, unsigned char data)
{
//WDTCTL = WDTPW + WDTHOLD; //關(guān)閉看門狗
_DINT(); //關(guān)閉總中斷
FCTL2 = FWKEY+FSSEL1+12; //3686400/300K=12
FCTL3 = FWKEY; //LOCK=0;
FCTL1=FWKEY+WRT; //WRT=1;
*pdata = data;
FCTL3 = FWKEY+LOCK; //
//開通看門狗
_EINT(); //開放中斷
}

void flashWriteWord(unsigned short * pdata, unsigned short data)
{
//WDTCTL = WDTPW + WDTHOLD; //關(guān)閉看門狗
_DINT(); //關(guān)閉總中斷
FCTL2 = FWKEY+FSSEL1+12;
FCTL3 = FWKEY; //LOCK=0;
FCTL1=FWKEY+WRT; //WRT=1;
*pdata = data;
FCTL3 = FWKEY+LOCK; //
//開通看門狗
_EINT(); //開放中斷
}

補(bǔ)充一點(diǎn),部分MSP430中A區(qū)中存有部分芯片調(diào)校數(shù)據(jù),如果需要利用A區(qū),需要仔細(xì)看一下DATASHEET. 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品一区二区三区中文字幕 | 欧美精品综合| 久久天天狠狠| 久久久精品日韩| 久久福利资源站| 久久超碰97人人做人人爱| 午夜在线精品偷拍| 欧美一区二区免费| 久久精品2019中文字幕| 小嫩嫩精品导航| 欧美一区二区成人| 欧美一区二区视频观看视频| 午夜欧美不卡精品aaaaa| 午夜精品一区二区在线观看| 午夜视频在线观看一区二区三区 | 看欧美日韩国产| 午夜视频一区在线观看| 香蕉国产精品偷在线观看不卡| 亚洲一级电影| 性欧美videos另类喷潮| 性欧美大战久久久久久久久| 欧美一级免费视频| 久久国产视频网| 久久综合狠狠综合久久综合88| 久久免费视频一区| 欧美成人精品1314www| 欧美福利精品| 欧美日韩一区二区在线播放| 国产精品xvideos88| 国产欧美一区二区精品仙草咪| 国产婷婷色一区二区三区四区| 黑人巨大精品欧美一区二区小视频| 黄色在线成人| 91久久香蕉国产日韩欧美9色| 亚洲美女中出| 亚洲欧美成人| 亚洲高清自拍| 一区二区三区.www| 欧美在线免费观看亚洲| 老牛国产精品一区的观看方式| 欧美国产综合| 国产精品福利av| 国产在线拍揄自揄视频不卡99| 在线精品视频免费观看| 91久久精品国产| 亚洲网站在线| 久久精品一区二区国产| 日韩午夜在线视频| 午夜精品视频网站| 欧美jizz19性欧美| 国产精品成人国产乱一区| 国产欧美综合一区二区三区| 尤物网精品视频| 亚洲视频中文字幕| 亚洲国产aⅴ天堂久久| 中文av一区二区| 欧美在线免费播放| 欧美日韩不卡视频| 国产欧美在线观看| 亚洲精品乱码视频| 欧美中文字幕在线播放| 一本色道久久加勒比精品| 欧美一区二区三区在线免费观看| 老司机aⅴ在线精品导航| 欧美性猛交xxxx免费看久久久| 国内外成人免费激情在线视频| 亚洲欧洲精品一区二区三区不卡 | 亚洲精品之草原avav久久| 亚洲欧美成人综合| 亚洲欧洲一区二区三区| 午夜精品影院在线观看| 欧美国产日韩一区二区三区| 国产伦精品一区二区三区免费 | 中文av一区二区| 久久精品理论片| 亚洲女同在线| 欧美激情精品久久久| 国产日韩欧美夫妻视频在线观看| 亚洲人成在线观看一区二区| 欧美综合二区| 亚洲男人av电影| 欧美国产精品v| 国产在线精品一区二区夜色| 亚洲视频久久| 99日韩精品| 亚洲欧美日韩天堂一区二区| 午夜视频在线观看一区二区| 欧美日韩一区二区免费在线观看| 韩日精品视频一区| 亚洲综合精品| 在线亚洲观看| 欧美成人精品h版在线观看| 国产亚洲精品激情久久| 亚洲视频中文字幕| 亚洲午夜高清视频| 欧美久久一区| 亚洲高清免费在线| 亚洲国产成人午夜在线一区| 欧美一区二区视频97| 国产精品久久久久久影视| 亚洲狼人精品一区二区三区| 亚洲激情中文1区| 久久综合免费视频影院| 国产视频一区在线| 亚洲欧美视频一区二区三区| 亚洲一级免费视频| 欧美日韩国产小视频| 亚洲三级视频| 亚洲精品一区二区三区婷婷月| 久久亚洲精品一区| 国产综合一区二区| 久久成人精品无人区| 久久九九热免费视频| 国产色爱av资源综合区| 午夜免费电影一区在线观看| 午夜精彩国产免费不卡不顿大片| 欧美深夜福利| 一区二区三区高清在线| 亚洲色在线视频| 欧美日韩精品| 亚洲乱码国产乱码精品精98午夜| 亚洲乱亚洲高清| 欧美乱妇高清无乱码| 亚洲日本免费| 在线视频欧美一区| 欧美三日本三级少妇三99| 一本久久精品一区二区| 亚洲午夜电影在线观看| 国产精品成人播放| 亚洲欧美日韩在线高清直播| 欧美一区亚洲| 国产在线欧美日韩| 亚洲精品1区2区| 欧美精品一区二区三区四区| 亚洲美女在线观看| 欧美日韩国产一级片| 欧美国产成人精品| 亚洲精品欧美一区二区三区| 一区二区免费在线视频| 欧美日韩综合视频| 亚洲一区二区三区高清不卡| 欧美一级淫片aaaaaaa视频| 国产婷婷色一区二区三区在线| 久久www免费人成看片高清| 免费的成人av| 亚洲欧洲免费视频| 亚洲性视频网站| 国产麻豆9l精品三级站| 欧美一区二区视频免费观看| 美女视频黄免费的久久| 亚洲另类黄色| 午夜精品久久久久久久99樱桃 | 国产中文一区二区三区| 亚洲激情视频网| 欧美日韩亚洲一区二区| 亚洲欧美中文字幕| 美女网站在线免费欧美精品| 亚洲精品乱码久久久久久黑人| 午夜一区二区三区在线观看| 红桃视频一区| 一本色道88久久加勒比精品 | 日韩亚洲精品视频| 久久99在线观看| 亚洲第一主播视频| 亚洲在线一区二区三区| 国产伊人精品| 一本色道久久综合| 国产一区视频观看| 99热在线精品观看| 国产日韩欧美在线视频观看| 亚洲激情二区| 国产精品wwwwww| 亚洲国产精品成人综合色在线婷婷| 欧美激情第一页xxx| 亚洲欧美日韩视频一区| 欧美激情小视频| 午夜一区二区三区不卡视频| 欧美承认网站| 欧美亚洲午夜视频在线观看| 欧美日韩国产精品成人| 欧美一级专区| 欧美日韩天堂| 亚洲第一在线视频| 欧美日韩xxxxx| 久久激情久久| 国产精品狼人久久影院观看方式| 亚洲国产一区二区三区高清| 国产精品久久看| 一本久久青青| 在线精品视频一区二区三四| 先锋a资源在线看亚洲| 亚洲啪啪91| 久久亚洲综合色一区二区三区| 一区二区三区四区五区精品| 美女主播精品视频一二三四| 亚洲综合电影一区二区三区| 欧美另类人妖| 亚洲全部视频| 国产自产精品| 午夜精品国产更新|