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

我們用的MSP430時,  內部有幾十個字節information memory 可以當EEPROM來用, 無需再外擴EEPROM芯片,  用量保存一下系數的掉電保存的數據. 我一直用這個, 很好用.      

     特別說明:

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

    2. 利用information memory 作為EEPROM 掉電保存數據,這是這段程序第一個亮點;

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

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

 

 

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


/************************************************************************************
** 函數名稱: flashWrite
** 功能描述: 在MSP430flash中寫數據
**
** 輸  入: td:寫入地址, sd:源數據指針, size:寫入字節數
** 輸  出: 無
** 返 回 值: 返回需要發送給其他任務處理的數據塊的指針。
** 全局變量:
** 調用模塊:
** 作  者: 陳文浩
** 日  期: 2010年07月12日
************************************************************************************/
void flashWrite(unsigned char * td, unsigned char *sd, unsigned char size)
{
typedef void(*funp)(unsigned char*,unsigned char *, unsigned char); //定義函數指針類型
funp FLASHBLK;
char ramcode[100]; //ram內程序及數組地址指針
_DINT();
//ramcode=(char *)malloc(sizeof(char)*100); //為放入內存的子程分配空間(需先將heap值設為180)
FLASHBLK = flashWriteBlock; //函數指針賦值
memcpy(ramcode,(char *)FLASHBLK,100); //將塊寫子程放入ram中已分配空間
FLASHBLK=*(funp)ramcode; //將函數指針指向ram中的塊寫子程
flashErase(td); //段擦
(FLASHBLK)(td,sd, size); //塊寫(調用的是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位復位
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; //在欲進行操作的段中空寫,啟動擦除操作
FCTL3=FWKEY+LOCK; //鎖定
}

//功能:FLASH操作 BYTE數據寫入
//編程時鐘:257KHZ~476KHZ
void flashWriteByte(unsigned char * pdata, unsigned char data)
{
//WDTCTL = WDTPW + WDTHOLD; //關閉看門狗
_DINT(); //關閉總中斷
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; //關閉看門狗
_DINT(); //關閉總中斷
FCTL2 = FWKEY+FSSEL1+12;
FCTL3 = FWKEY; //LOCK=0;
FCTL1=FWKEY+WRT; //WRT=1;
*pdata = data;
FCTL3 = FWKEY+LOCK; //
//開通看門狗
_EINT(); //開放中斷
}

補充一點,部分MSP430中A區中存有部分芯片調校數據,如果需要利用A區,需要仔細看一下DATASHEET. 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产欧美在线| 一本色道久久综合亚洲精品小说| 欧美精品在线观看一区二区| 久久激五月天综合精品| 亚洲欧美一区二区三区在线| 亚洲一区二区三区高清| 99riav国产精品| 亚洲精品人人| 亚洲精品一区在线| 亚洲人成7777| 91久久国产综合久久| 亚洲高清免费视频| 亚洲国产专区| 亚洲欧洲综合另类在线| 91久久精品国产91久久性色tv| 久久丁香综合五月国产三级网站| 欧美一区二区成人| 欧美一区二区播放| 亚洲电影免费观看高清完整版在线 | 久久精品国产清高在天天线 | 久久精品视频导航| 久久久久久久综合狠狠综合| 久久婷婷成人综合色| 麻豆成人在线观看| 欧美激情视频在线免费观看 欧美视频免费一| 欧美91大片| 欧美精品性视频| 欧美天堂亚洲电影院在线观看| 欧美午夜精品一区| 国产精品美女久久久久aⅴ国产馆| 国产精品羞羞答答xxdd| 国产日韩在线看| 在线日韩视频| 一本到高清视频免费精品| 亚洲午夜av| 欧美在线观看视频在线| 亚洲激情婷婷| 亚洲视频导航| 性做久久久久久久久| 久久久久久久综合日本| 欧美电影在线| 国产精品高潮呻吟久久av黑人 | 国产午夜精品理论片a级探花| 国产一区二区精品久久| 影音先锋久久久| 亚洲伦理久久| 亚洲自拍三区| 亚洲电影激情视频网站| 日韩午夜电影| 欧美一级午夜免费电影| 免费高清在线一区| 国产精品v欧美精品∨日韩| 国产亚洲欧美一级| 亚洲日本欧美| 久久aⅴ国产紧身牛仔裤| 日韩视频在线免费观看| 午夜精品福利电影| 欧美va亚洲va日韩∨a综合色| 欧美日韩在线一区二区三区| 国产欧美一区二区精品秋霞影院| 在线欧美不卡| 亚洲一区日本| 亚洲精品视频啊美女在线直播| 亚洲欧美资源在线| 欧美xart系列在线观看| 国产精品男女猛烈高潮激情| 亚洲成人在线网| 午夜欧美理论片| 一区二区三区欧美日韩| 久久影院午夜论| 国产精品你懂的在线欣赏| 在线成人国产| 亚洲欧美一区二区视频| 99国产精品久久久| 久久久亚洲成人| 国产精品久久福利| 亚洲国产精品尤物yw在线观看| 亚洲综合三区| av不卡在线观看| 美女性感视频久久久| 国产精品私房写真福利视频| 亚洲国产三级网| 欧美在线视频播放| 亚洲欧美日韩直播| 欧美剧在线观看| 一区二区三区在线观看欧美| 亚洲综合欧美日韩| 亚洲一级在线观看| 欧美韩日亚洲| 一区二区三区在线免费视频| 亚洲欧美国产三级| 亚洲一级免费视频| 欧美日韩精品久久久| 在线观看av不卡| 欧美中日韩免费视频| 午夜综合激情| 国产精品成人午夜| 亚洲精品视频一区二区三区| 亚洲第一网站免费视频| 久久精品午夜| 国产日韩欧美不卡| 亚洲特级片在线| 亚洲午夜av在线| 欧美日本一区二区视频在线观看| 一区二区亚洲精品国产| 久久精品视频在线观看| 欧美在线亚洲在线| 国产精品理论片在线观看| 夜夜爽99久久国产综合精品女不卡| 亚洲日本乱码在线观看| 免费成人性网站| 在线看一区二区| 亚洲国产日韩欧美在线图片| 久久久久一区二区三区四区| 国产午夜精品一区二区三区欧美| 亚洲自拍另类| 欧美一区激情视频在线观看| 国产精品嫩草久久久久| 亚洲小说春色综合另类电影| 亚洲一区免费看| 国产精品国产三级国产a| 中文精品在线| 午夜视黄欧洲亚洲| 国产精品―色哟哟| 亚洲一区三区电影在线观看| 亚洲综合色视频| 国产精品护士白丝一区av| 亚洲午夜极品| 国产精品日韩精品欧美精品| 欧美久久电影| 欧美高清视频一区| 久久全球大尺度高清视频| 久久天天躁夜夜躁狠狠躁2022 | 最近中文字幕日韩精品 | 国产欧美一区二区在线观看| 亚洲宅男天堂在线观看无病毒| 亚洲专区一二三| 国产精品久久国产精品99gif| 亚洲香蕉在线观看| 久久成人综合网| 精品二区久久| 亚洲免费观看视频| 欧美色另类天堂2015| 亚洲天堂网站在线观看视频| 欧美一区二区精品| 国产一区二区三区高清播放| 亚洲国产视频直播| 欧美搞黄网站| 亚洲色图在线视频| 欧美一区二区在线看| 精品成人国产| 一区二区三区高清不卡| 国产精品久久毛片a| 香蕉av777xxx色综合一区| 久久一二三区| 洋洋av久久久久久久一区| 欧美综合77777色婷婷| 在线观看91精品国产入口| 一区二区三区欧美日韩| 国产欧美日韩在线播放| 亚洲激情国产| 国产精品卡一卡二| 亚洲国产精品免费| 欧美日韩在线精品| 欧美一区二视频在线免费观看| 欧美a级片网| 亚洲一区二区视频在线观看| 久久夜色精品| 一区二区冒白浆视频| 久久精品青青大伊人av| 亚洲人成网站精品片在线观看| 欧美一区二区高清在线观看| 亚洲黄色免费网站| 欧美专区在线| 亚洲三级网站| 久久久国产精品亚洲一区| 亚洲乱码精品一二三四区日韩在线 | 精品福利免费观看| 亚洲自啪免费| 在线看日韩欧美| 午夜精品一区二区三区在线视| 国内精品久久久久伊人av| 亚洲视频导航| 在线播放国产一区中文字幕剧情欧美 | 最新亚洲激情| 久久久久久久一区| 一本色道久久综合亚洲精品小说| 久久中文在线| 亚洲一区二区三区乱码aⅴ| 欧美成年网站| 香蕉成人久久| 欧美色图首页| 亚洲精品免费一二三区| 国产噜噜噜噜噜久久久久久久久 | 中国亚洲黄色| 欧美高潮视频| 久久精品国产免费| 国产精品视区| 亚洲一区精彩视频| 欧美性淫爽ww久久久久无|