假如我想保存一部分数据到MSP430FR5739的内部FRAM中,请问我该如何操作。
另外,我看库函数使用手册中没有从FRAM中读取数据的函数,那假如我把一部分数据
写入FRAM,然后再读出来,我该怎么操作呢??
有没有相关的代码??谢谢。
Maka Luo:
MSP430WARE下面有写FRAM例程,如下。
读的话比较简单,定义指针直接指向这个地址就可以。
#include <msp430.h>
void FRAMWrite(void);
unsigned char count = 0;unsigned long *FRAM_write_ptr; unsigned long data;
#define FRAM_TEST_START 0xCA00
int main(void){ WDTCTL = WDTPW + WDTHOLD; // Stop WDT // Configure MCLK for 8MHz operation CSCTL0_H = 0xA5; CSCTL1 |= DCOFSEL0 + DCOFSEL1; // Set max. DCO setting CSCTL2 = SELA_0 + SELS_3 + SELM_3; // ACLK = VLO CSCTL3 = DIVA_0 + DIVS_1 + DIVM_1; // MCLK = SMCLK = DCO/2 // Turn off temp sensor REFCTL0 |= REFTCOFF; REFCTL0 &= ~REFON;
// Turn on LED P1DIR |= BIT0; // Initialize dummy data data = 0x11111111;
while(1) { data += 0x00010001; FRAM_write_ptr = (unsigned long *)FRAM_TEST_START; FRAMWrite(); // Endless loop count++; if (count > 100) { P1OUT ^= 0x01; // Toggle LED to show 512K bytes count = 0; // ..have been written data = 0x11111111; }
} }
void FRAMWrite (void)
{ unsigned int i=0;
for ( i= 0; i<128; i++) { *FRAM_write_ptr++ = data; } }
灰小子:
楼主你好,你想复杂了。对FRAM的操作和对RAM的操作基本上是一样的,直接读写就可以。
zhouxi wang:
回复 Maka Luo:
这个系统掉电,存储的数据会丢失
灰小子:
回复 zhouxi wang:
只要把数据存储在fram上,掉电是不会丢失的。而且fram的读写就像ram的操作一样简单。