TI中文支持网
TI专业的中文技术问题搜集分享网站

Hibernate模块存储数据写入和读出

我们用的是TM4C129EKCPDT 这个芯片。

我想实现每次改变IO口状态,将该状态 (uint32_t 的变量数据) 保存到HIBDATA寄存器上(调用HibernateDataSet),用以实现重新上电的时候,之前记录的IO状态可以重新读出(HibernateDataGet函数读出)。

硬件操作是对VBAT (PIN 68)引脚通过纽扣电池供电,未对XSOC0 或者XSOC1(PIN 66/67)加晶振。(是否有问题?)

软件参考官方历程,简化代码如下:

uint32_t pin_vel = 0x00000001;
uint32_t bk_pin = 0x00000000;
set_hibernate()
{HibernateDataSet(&pin_vel,1);//pin_vel 根据IO状态改变而变化值
}

get_hibernate()
{SysCtlPeripheralEnable(SYSCTL_PERIPH_HIBERNATE);// Enable the hibernate module.HibernateClockConfig(HIBERNATE_OSC_LOWDRIVE);ui32Status = HibernateIntStatus(0);HibernateIntClear(ui32Status);if(HibernateIsActive()){HibernateDataGet(&bk_pin,1); //读取写入的数据到bk_pinrt_kprintf("read value =%ld\r\n",bk_pin);}
}

void hib_thread()
{//其他配置初始化get_hibernate()//获取掉电前写入的值并打印while(1){get_hibernate();  //不断写入pin_vel 值,pin_vel在变化delay();}
}

程序运行打印的值获取为0,而非写入的值。请问软件应该如何修改?

有人可以回答帮助我吗?谢谢!!

Susan Yang:

建议您到https://e2e.ti.com/ 发帖询问

赞(0)
未经允许不得转载:TI中文支持网 » Hibernate模块存储数据写入和读出
分享到: 更多 (0)