MSP430读写片内FLASH保存数据
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!
FLASH型的MSP430单片机都带有信息存储器SegmengA及SegmentB,SegmengA及SegmentB各有128字,SegmentB的地址是:0x01000h到0x107F,SegmentA的地址是:0x01080h到0x010FFh。程序被写入MSP430之后,程序通过SegmengA及SegmentB就可以保存不掉电数据。注意:每次程序烧写到MSP430时,SegmengA及SegmentB都会被擦除!
接下来贴出本文的程序代码,以及程序写入信息存储器之后的FLASH数据:
#include <msp430xG43x.h>
void WriteSegment_256 (char index,char *value,char size);
char ReadSegment_256(char index);
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
FCTL2 = FWKEY + FSSEL0 + FN0; // MCLK/2 for Flash Timing Generator
char str1[3]={0xAA,0xBB,0xCC};
WriteSegment_256(0,str1,3);
for(char i=0;i<255;i++)
_NOP();
char str2[3]={0xBB,0xAA,0xCC};
WriteSegment_256(0,str2,3);
}
#define SegmentStart 0x01000 //Segment = 0x01000~0x010FF
#define SegmentSize 255 //SegmentA + SegmentB = 256
//*********************************************************
//读取片内存储的数据
//*********************************************************
char ReadSegment_256(char index)
{
char *flash_ptr = ((char *) SegmentStart) + index;
return *flash_ptr;
}
// *****************************************************
//把数组写入数据到片内FLASH,必须先全部擦除再写入
//参数index:保存数组的位置
//参数value:数组的指针
//参数size:数组的大小
// *****************************************************
void WriteSegment_256 (char index,char *value,char size)
{
char buffer[SegmentSize],i=0;
char *flash_ptr = (char *) SegmentStart;
//先读取原FLASH数组
for(i=0;i<SegmentSize;i++)
buffer[i]=ReadSegment_256(i);
//擦除FLASH,必须
FCTL1 = FWKEY + ERASE; // Set Erase bit
FCTL3 = FWKEY; // Clear Lock bit
*f
相关文档:
大家都知道STM32的CPU时钟频率可以达到72MHz,以后还会更快,但是由于半导体制造工艺的限制,存放程序的Flash存储器不可能达到这么高的工作频率,这样当CPU直接访问Flash存储器时必须插入等待周期以得到正确的结果。
问题是在Flash的速度比CPU慢的情况下,是不是可以简单地说STM32在执行Flash中的程序时每条指令都需要插入 ......
1、用panel,label,button,textinput组建布局,如下图:
2、设用户名、密码、验证码所对应的textinput的id分别为userName、pasWord、inVal;设用于显示验证码的label组建的id为:val.
布局代码如下:
<s:Panel x="126" y="98" width="250" height="200" id="login" title="用户 ......
我喜欢看flash动画,打开了firefox,百度一下flash动画,进入网站之后观看不了,但firefox提示“您需要其他插件以显示此页面的所有媒体”于是点击“安装缺失插件”,这时firefox自动查找插件,提示:
Adobe Flash Player(installer)
单击选择这个插件,并单击“下一步”,根据提示,输入密 ......
Architecture: i386, amd64
Configure your system to use lenny-backports by adding this line to your sources.list
deb http://www.backports.org/debian lenny-backports main contrib non-free
How to install flashplugin-nonfree :
apt-get update
apt-get install flashplugin-nonfree
How to update flash ......