Other Parts Discussed in Thread: MSP430FR5739
假如我想保存一部分数据到MSP430FR5739的内部FRAM中,请问我该如何操作。
另外,我看库函数使用手册中没有从FRAM中读取数据的函数,那假如我把一部分数据
写入FRAM,然后再读出来,我该怎么操作呢??
有没有相关的代码??谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: MSP430FR5739
假如我想保存一部分数据到MSP430FR5739的内部FRAM中,请问我该如何操作。
另外,我看库函数使用手册中没有从FRAM中读取数据的函数,那假如我把一部分数据
写入FRAM,然后再读出来,我该怎么操作呢??
有没有相关的代码??谢谢。
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;
}
}