打印
[技术问答]

断电保存数据 上电读取nm1120

[复制链接]
1852|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cr315|  楼主 | 2025-2-18 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
断电保存数据我是芯片断电定时器里读取I/O口高低电平,达到时间保存 有时候板子用的时间久了 就会保存读取失败 芯片复位,大佬们看一下我的保存参数有问题吗?
void remeber()
{      
               
                        SYS_UnlockReg();
      FMC_Open();
                        set_data_flash_base(DATA_FLASH_TEST_BASE);
                  FMC_Erase(sudu_base);
                        FMC_Write(sudu_base, set_xiansudu);


                        FMC_Write(first_base,0x19);
                  FMC_Close();
      SYS_LockReg();
}


这个是启动读取参数
int main()
{      
                unsigned int i;               
                unsigned int j;
                /* Initialize at begining */


                /* Initialize all register setting*/      
          delay_ms(10);
                SYS_Init();
//                SYS_UnlockReg();      
          SYS_LockReg();
                EADC_Init();
                PGA_Init();
                GPIO_Init();
                ECAP_Init();      
                Timer0_Init();
                Timer1_Init();
                EPWM_Init();      
          USCI_UART_Open(USCI1, 9600);
                RXD_set();
                Motor_Start();
                u8_StopMotor_Flag=1;      
          SYS_UnlockReg();
    FMC_Open();//开始读取
          first_set_Flag=FMC_Read(first_base);
                if(first_set_Flag==0x19)
                {
                set_xiansudu=FMC_Read(sudu_base);

                }
                FMC_Close();
                WDT_Open(WDT_TIMEOUT_2POW14, 0, TRUE, FALSE);
                SYS_LockReg();
               


    set_para();//设置参数
          Motor_Start();
               
                get_shijichangdu(666666);
                TM1668_Init(size[mishu[0]],size[mishu[1]],size[mishu[2]],size[mishu[3]],size[mishu[4]],size[mishu[5]],0x01);//显示实际长度

                NVIC_Configuration();

使用特权

评论回复
沙发
yhu1983| | 2025-7-11 17:04 | 只看该作者
你有开看门狗。保存读取过程有可能因为时间长,没有喂狗,导致看么狗复位.

使用特权

评论回复
板凳
jcky001| | 2025-7-30 16:20 | 只看该作者
在电压不稳定时写入可能导致数据损坏或芯片复位。

使用特权

评论回复
地板
cr315|  楼主 | 2025-7-30 16:20 | 只看该作者
中断优先级冲突?

使用特权

评论回复
5
elephant00| | 2025-7-30 16:20 | 只看该作者
FMC_Erase()和FMC_Write()未检查返回值,无法确认操作是否成功。

使用特权

评论回复
6
stormwind123| | 2025-7-30 16:59 | 只看该作者
建议在电压检测比较器输出端增加施密特触发器,消除信号抖动。

使用特权

评论回复
7
flycamelaaa| | 2025-7-30 17:21 | 只看该作者
全局变量未保护。

使用特权

评论回复
8
powerantone| | 2025-7-30 19:22 | 只看该作者
看门狗配置有冲突。

使用特权

评论回复
9
probedog| | 2025-7-30 20:23 | 只看该作者
在电压跌落至2.7V前完成所有Flash操作.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1432

主题

4783

帖子

0

粉丝