📄 flash-awrite.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 + -