历史上的今天
今天是:2025年05月08日(星期四)
2020年05月08日 | MSP430读写片内FLASH保存数据
2020-05-08 来源:eefocus
FLASH型的MSP430单片机都带有信息存储器SegmengA及SegmentB,SegmengA及SegmentB各有128字,SegmentB的地址是:0x01000h到0x107F,SegmentA的地址是:0x01080h到0x010FFh。程序被写入MSP430之后,程序通过SegmengA及SegmentB就可以保存不掉电数据。注意:每次程序烧写到MSP430时,SegmengA及SegmentB都会被擦除!
接下来贴出本文的程序代码,以及程序写入信息存储器之后的FLASH数据:

#include 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 //擦除FLASH,必须 FCTL1 = FWKEY + ERASE; // Set Erase bit FCTL3 = FWKEY; // Clear Lock bit *flash_ptr = 0; // Dummy write to erase Flash segment //把整个数组都写入FLASH FCTL1 = FWKEY + WRT; // Set WRT bit for write operation for(i=0;i for(i=0; i FCTL1 = FWKEY; // Clear WRT bit FCTL3 = FWKEY + LOCK; // Set LOCK bit }
史海拾趣
|
最近需要开发一个扫描仪在wince下的驱动程序,但是没有一点头绪,希望做过的兄弟帮忙给点提示。 我用的板子是2440+wince5.0,扫描仪还没确定。 要做这样一个驱动需要做些什么准备?怎么开始?如果有具体流程就更好了, ...… 查看全部问答> |
|
平台:s3c2440 + wince5.0 在串口驱动文件pdds3c2440_ser.cpp中 void CPdd2440Uart::XmitInterruptHandler(PUCHAR pTxBuffer, ULONG *pBuffLen) { ...... for (DWORD dwByteWrite=0; dwByteWriteWrite ...… 查看全部问答> |
|
关于CCS安装的问题,小女子急!没分了,真抱歉啊,5555~ CCS 2.2版本,同一个软件我在公司的机子上安装没有出现任何问题,在自己的机子上安装,装了好几次都出现同样的问题,每次open一个新的工程,就出现no build tools were found.两台机子都同是xp的系统. 请高手指点,拜托了!… 查看全部问答> |
|
请问这个电路的交流等效电路中,T2管子的电流怎样流?一般来说不是都是由基极b流向射极e,由受控电流源上的电流由集电极c流向射极e,但是为什么答案的电流是由e流向b,受控电流源的电流是由e流向c的呢第二个问题,第二级的输入电阻是不是就是第一级 ...… 查看全部问答> |




