导航

« vlan的资料,从入门到精通MSP430单片机的框架程序(转) »

msp430f149单片机flash操作的程序

转载:清风徐徐

//////////////////////////////////////////////
//功能:FLASH操作-BYTE数据写入              //
//参数:char *Data_ptr,char byte            //
//返回:无                                  // 
//日期:2003.11.6                           //
//////////////////////////////////////////////
void Flash_wb(char *Data_ptr,char byte)
{
FCTL3=0x0A500;           // Lock=0
FCTL1=0x0A540;           // WRT=1
*Data_ptr=byte;
}
//////////////////////////////////////////////
//功能:FLASH操作-word数据写入              //
//参数:int *Data_ptr, int word             //
//返回:无                                  // 
//日期:2003.11.6                           //
//////////////////////////////////////////////
void Flash_ww(int *Data_ptr,int word)
{
FCTL3=0X0A500;           //Lock=0
FCTL1=0X0A540;           //WRT=1
*Data_ptr=word;          
}
//////////////////////////////////////////////
//功能:FLASH操作-段擦除                    //
//参数:int *Data_ptr                       //
//返回:无                                  // 
//日期:2003.11.6                           //
//////////////////////////////////////////////
void Flash_clr(int *Data_ptr)
{
FCTL1=0X0A502;           // ERASE=1
FCTL3=0X0A500;           //Lock=0
*Data_ptr=0;
}
//////////////////////////////////////////////
//功能:FLASH 操作,先保存在擦写            //
//参数:uchar num                           //
//返回:无                                  //
//日期:2003.11.14                          //
//////////////////////////////////////////////
void Flash_do(uchar num)
{
uint lshi,linshi[13];       //
uchar i=0;
int *addr;
_DINT();
addr=(int *)0x1000;
for(i=0;i<13;i++)
   {
    linshi[i]=*(addr+i); 
   } 
linshi[num]=Flash_save[num];  //更新数据
Flash_clr(addr);     //段擦除
for(i=0;i<13;i++)
   {
    lshi=linshi[i];
    Flash_ww(addr+i,lshi);//写入
   }
_EINT(); 
}

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By SunK

Copyright 2005-2006 sunk.cn 蜀ICP备06007105号