MSP430的Flash操作

原创 2013年12月04日 13:09:37

#include <msp430x14x.h>

#define uint unsigned int
#define uchar unsigned char

/***********************************************************************************************

 精准的延时程序

***********************************************************************************************/

#define CPU_F ((double)8000000.0)
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

uchar  value;
void write_SegA(char value);
void copy_A2B(void);
/*********************************************************************
      FCTL1:用于控制所有写(编程)或者删除操作的有效位
      FCTL2:主要对进入时序发生器的时钟进行定义
      FCTL3:用于控制FLASH存储器操作,保存相应的状态标志和错误标志
*********************************************************************/

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;
  FCTL2 = FWKEY + FSSEL_1 + FN_1;//定义原始时钟,W是A5  R 96  选择MCLK,2分频
                                
  value =0;
  while(1)
  {
    write_SegA(value++);//写信息段A
    copy_A2B();         //信息段A复制到信息段B
  }
 
}

/*******************写信息段A******************/
void write_SegA(char value)
{
  char *Flash_ptr;              //定义flash指针
  uint i;
  Flash_ptr = (char *)0x1080;   //定义起始的地址
  FCTL1=FWKEY+ERASE;            //设置允许编程位
  FCTL3=FWKEY;                   //清除LOCK位
  *Flash_ptr = 0;                //空写,启动擦除
  FCTL1=FWKEY+WRT;                //允许写
  for(i=0;i<128;i++)            //写够128个字节
  {
    *Flash_ptr++=value;
  }
  FCTL1=FWKEY;               
  FCTL3=FWKEY+LOCK;           //锁定
}


void copy_A2B(void)
{
  char *Flash_ptrA;
  char *Flash_ptrB;
  uint i;
  Flash_ptrA=(char *)0x1080;
  Flash_ptrB=(char *)0x1000;
  FCTL1=FWKEY+ERASE;            //设置允许编程位
  FCTL3=FWKEY;                     //清除LOCK位
  *Flash_ptrB=0;
  FCTL1=FWKEY+WRT;              //允许写
  for (i=0;i<128;i++)
  {
    *Flash_ptrB++=*Flash_ptrA;
  }
  FCTL1= FWKEY;
  FCTL3=FWKEY+LOCK;         //锁定
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

MSP430G2553 flash操作例子

/* 实际适用于MSP430x2xx系列单片机,包含以下10个常用功能函数: (1)初始化。Flash_Init(unsigned char Div,unsigned char Seg ):依据SM...
  • TFTJT
  • TFTJT
  • 2016-10-21 15:29
  • 384

MSP430内部Flash操作代码

  • 2012-10-11 15:36
  • 123KB
  • 下载

msp430 flash模块操作

  • 2013-07-04 13:16
  • 1001KB
  • 下载

5)MSP430的Flash存储器

FLASH存储器的主要功能部件控制寄存器:控制FLASH存储器的檫除与写入 FLASH存储器阵列:存储体 地址数据锁存器:檫除与编程时执行锁存操作 编程电压发生器:产生编程电压 时序发生器:产生檫除与...

MSP430 Flash 操作

MSP430的Flash存储器

FLASH存储器的主要功能部件   控制寄存器:控制FLASH存储器的檫除与写入 FLASH存储器阵列:存储体 地址数据锁存器:檫除与编程时执行锁存操作 编程电压发生器:...

Launchpad msp430 Flash探索

//****************************************************************************** //  MSP430G2xx1 De...

MSP430F149嵌入式系统中FLASH K9F1G08U0M的应用

原文地址【http://www.elecfans.com/emb/xitong/20111005219775.html】         NAND Flash是采用NAND结构技术的非易失存储器,具...

TinyOS在MSP430F2618上移植(四)之FLASH

本节叙述串口FLASH在TinyOS上的移植。 FLASH采用华邦的W25X80,存储容量8M bit,通过SPI接口进行数据读写,具有写保护功能。        采用3层模型,最底层实现在特定平台...

Msp430Flash型单片机内部Flash存储器介绍

1 Msp430Flash型单片机内部Flash存储器介绍 MSP430的Flash存储器是可位、字节、字寻址和编程的存储器。该模块由一个集成控制器来控制编程和擦除的操作。控制器包括三个寄存器,一个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)