【TI首届低功耗设计大赛】 铁电存储实现 上电计数器
铁电存储实现 上电计数器
为了证明数据写入到FRAM中,需要掉电操作,再次上电时读取保存的数据,证明数据没有丢失。
看了MSP430FR5969的例程,对于FRAM操作就像操作内存一样简单,只需要定义一个指针,把这个指针指向要操作的FRAM地址,然后把数据写到这个指针里就可以喽。
下边是我测试的源代码:
- #include <stdint.h>
- #include <msp430.h>
- #include "mcu_config.h"
- #include "hal_timer.h"
- #define FRAM_STORE_START_ADDRESS 0xD000
- uint8_t *FRAM_write_ptr;
- uint8_t power_on_conter = 0;
- int main(void)
- {
- uint16_t i;
- WDTCTL = WDTPW | WDTHOLD; // Stop watchdog
-
- // Configure GPIO
- PJOUT &= ~BIT0; // Clear P1.0 output latch
- PJDIR |= BIT0; // For LED on P1.0
- PM5CTL0 &= ~LOCKLPM5;
- FRAM_write_ptr = (uint8_t *)FRAM_STORE_START_ADDRESS;
- power_on_conter = *FRAM_write_ptr;
- if(power_on_conter == 0xff) //第一次上电FRAM里的数据为0xff
- {
- power_on_conter = 0;
- }
- power_on_conter++;
- *FRAM_write_ptr = power_on_conter;
- for(i=0;i<power_on_conter;i++)
- {
- LED_ON();
- delay_ms(100);
- LED_OFF();
- delay_ms(500);
- }
- while(1)
- {
-
- }
- }
复制代码
配上小视频: