📄 main.c
字号:
/*
MSP430F全系列Flash存储器通用程序库演示程序
说明: 1.演示Flash存储器通用程序库内各种读写函数的用法。程序先运行一遍,
将各种类型的数据写入Flash,然后断电,重新上电后运行到_NOP()一
句看结果,读取Flash中保存的数据,应该和写入的一致。
注意在工程属性的Debugger->FEF Debugger->Setup页上的DownLoad
Control框内,一定要选Eraser main memory (默认是Eraser main memory
& info memory),这样每次下载后info区Flash的内容就不会被清除。
2.将Flash第11单元内容读出,每次运行之后取反再写回去,根据Flash第
11单元的内容决定LED的亮/灭状态。每次按一次复位,LED都会变化。
证明复位不改变Flash内保存的值。每拔一次电池,LED也会变化,证明
断电也不改变Flash内保存的数据。
(C)西安电子科技大学 测控技术与仪器教研中心 编写:谢楷 2008/02/04
*/
#include "msp430x42x.h"
#include "Flash.h"
#define LED_ON P2OUT|=BIT0
#define LED_OFF P2OUT&=~BIT0
unsigned char Chr;
unsigned int Word;
unsigned long int Long;
float Float; //不同类型的变量
void main( void )
{ char Pwr_Falg;
WDTCTL=WDTPW+WDTHOLD; //停止看门狗
FLL_CTL0|=XCAP18PF; //配置晶振负载电容
P2OUT=0;
P2DIR|=BIT0;
Flash_Init();
//=========================数据掉电保存实验=============================
Chr =Flash_ReadChar(0);
Word =Flash_ReadWord(1);
Long =Flash_ReadLong(3); //读取以前保存在Flash的各种数据
Float=Flash_ReadFloat(7);
_NOP(); //在这一句设断点看运行结果
Flash_WriteChar (0,123);
Flash_WriteWord (1,12345);
Flash_WriteLong (3,1234567890);
Flash_WriteFloat(7,3.14159274);//写入数据
//======================================================================
Pwr_Falg=Flash_ReadChar(11);
if(Pwr_Falg!=0)
{
LED_ON;
Flash_WriteChar (11,0);
}
else
{
LED_OFF;
Flash_WriteChar (11,0xff);
}
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -