• 大小: 1KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-11-30
  • 语言: 其他
  • 标签: msp430  flash  

资源简介

灵活实现对msp430f149片内256b info内存的读写,可移植性高。

资源截图

代码片段和文件信息

#include
#include
typedef unsigned char uchar;
typedef unsigned int  uint;

uchar value  x  Flash_add  xs  s_add  xd  d_add;
uchar DataBuffer;
/***********************************************************
函数名称:Flash_Write_SegX
功    能:在flash信息存储段X(0-A1-B)中的Flash_add(0-127)地址
          写入value值,按字节一次写
入口参数:(uchar value , uchar x  uchar Flash_add)
          value ->待写入值(0-255)
          x     ->写入段名(0->A 1->B)
          Flash_add ->写入地址(0-127)
出口参数:void
说    明:
***********************************************************/
void Flash_Write_SegX(uchar value  uchar x  uchar Flash_add)
{
  uchar *Flash_ptr;//flash的地址

  if(x==0)
  {
    Flash_ptr = (uchar *)(0x1080+Flash_add);//A段首地址
  }
  else 
    Flash_ptr = (uchar *)(0x1000+Flash_add);//B段首地址
  
  FCTL1 = FWKEY + ERASE;//擦出方式01 只擦出一段
                 //擦出使能//独立段
          //密码
  FCTL3 = FWKEY;//覆盖 清除lock位
  *Flash_ptr = 0;//假写入,只是启动擦出程序 让cpu停止
  
  FCTL1 = FWKEY + WRT;//单字节写模式
  
    *Flash_ptr = value;//将A段内全部写value

  FCTL1 = FWKEY;//恢复保护 清除WRT位 不能再写
  FCTL3 = FWKEY + LOCK;
}

/***********************************************************
函数名称:Flash_copy_s2d
功    能:将源信息段xs的s_add内容写入xd的d_add中
入口参数:(uchar xs  uchar s_add  uchar xd  uchar d_add)
          xs->源段代号(0->A 1->B)
          s_add->源地址(0-127)
          xd->目的段代号(0->A 1->B)
          d_add->目的段地址(0-127)
出口参数:void
说    明:利用指针来进行读写操作
***********************************************************/
void Flash_copy_s2d (uchar xs  uchar s_add  uchar xd  uchar d_add)
{
  uchar *Flash_ptrs;
  uchar *Flash_ptrd;
  if(xs==0)
  {
    Flash_ptrs = (uchar *)( 0x1080 + s_add);
    Flash_ptrd = (uchar *)( 0x1000 + d_add);
  }
  else
  {
    Flash_ptrd = (uchar *)( 0x1080 + s_add);
    Flash_ptrs = (uchar *)( 0x1000 + d_add);      
  }

  FCTL1 = FWKEY + ERASE;
  FCTL3 = FWKEY;
  *Flash_ptrd = 0;
  FCTL1 = FWKEY + WRT;//设置为写
  
  DataBuffer = *Flash_ptrs;//
  *Flash_ptrd = DataBuffer;//
 
  FCTL1 = FWKEY;
  FCTL3 = FWKEY + LOCK;//打开保护
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-08-18 19:53  flash\
     文件        2281  2011-07-09 17:33  flash\flash.c
     文件         309  2011-07-09 17:33  flash\flash.h

评论

共有 条评论