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

📄 untitled1.c

📁 msp430f449功能模块的程序
💻 C
字号:
//FLASH 程序 首先擦除信息存储器A段 然后向A中写入一个能够增加1的数值 
//再将信息存储器A拷贝到B段中 因此 A中的数值比B中的数值大1 
#include<msp430x44x.h>
char value;//写到段A的数值 
void write_SegA(char value);//声明写函数
void copy_A2B(void);//声明拷贝函数
//主函数
void main(void)
{
WDTCTL=WDTHOLD+WDTPW;
FCTL2=FWKEY+FSSEL0+FN0;//FLASH的时间产生器频率为主时钟的1/2 
value=0;//初始化写入段A的数值 

write_SegA(value);//调用写函数
copy_A2B();//调用拷贝函数
_NOP();//设置断点

}

//写函数
 void write_SegA(char value)
 {
 char *Flash_ptr;//Flash指针变量
 unsigned int i;//循环变量
 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<128;i++)
  {
  *Flash_ptr++=value++;
  }
  FCTL1=FWKEY;//清除
 FCTL3=FWKEY+LOCK;
 }
 
 //拷贝函数 实际是写入
 void copy_A2B(void)
 {
 char *Flash_ptrA;
 char *Flash_ptrB;
 unsigned int i;
 Flash_ptrA=(char*)0x1080;
 Flash_ptrB=(char*)0x1000;
 //启动摖除
 FCTL1=FWKEY+ERASE;//设置檫除操作
 FCTL3=FWKEY;//解锁
 *Flash_ptrB=0;
//设置写操作
FCTL1=FWKEY+WRT;
for(i=0;i<128;i++)
  {
  *Flash_ptrB++=*Flash_ptrA++;
  }
  FCTL1=FWKEY;//
 FCTL3=FWKEY+LOCK;
}

⌨️ 快捷键说明

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