⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flash-awrite.c

📁 msp430f449功能模块的程序
💻 C
字号:
//FLASH 程序 首先擦除信息存储器段A,
//然后向段A中写入数组bb[4}={0x00,0x01,0x02,0x03}
// 再将信息存储器段A的内容读到数组bb
#include<msp430x44x.h>
void write_SegA(void);//声明写函数
void read_A(void);//声明du函数
char aa[4],bb[4]={0x00,0x01,0x02,0x03};//
//主函数
void main(void)
{
WDTCTL=WDTHOLD+WDTPW;
FCTL2=FWKEY+FSSEL0+FN0;//FLASH的时间产生器频率为主时钟的1/2 
while(1)
{
write_SegA();//调用写函数
read_A();//调用拷贝函数
_NOP();
}}

//写函数
 void write_SegA(void)
 {
 char *Flash_ptr;//Flash指针变量
 unsigned int i;//循环变量
 _DINT();//关中断
 Flash_ptr=(char*)0x1080;//初始化Flash指针变量
 //启动摖除
 FCTL1=FWKEY+ERASE;//设置摖除操作ERASE=1 MRASE=0 摖除段
 FCTL3=FWKEY;//解锁  LOCK=0 不加锁时 可摖除可写入
 *Flash_ptr=0;//启动摖除
 //设置写操作 
FCTL1=FWKEY+WRT;
  for(i=0;i<4;i++)
  {
  *Flash_ptr++=bb[i];
  }
  FCTL1=FWKEY;//清除
 FCTL3=FWKEY+LOCK;
 _EINT();
 }
 
 //读函数 
 void read_A(void)
 {
 char *Flash_ptrA;
 unsigned int i;
 Flash_ptrA=(char*)0x1080;
  for(i=0;i<4;i++)
  {
  aa[i]=*Flash_ptrA++;
  }}
  //将指针指向段A地址的内容读到数组aa中

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -