[技术问答] N76E003断电数据保存

[复制链接]
1870|9
 楼主| bxliang 发表于 2018-8-14 17:02 | 显示全部楼层 |阅读模式
本帖最后由 bxliang 于 2018-8-14 17:09 编辑

我在用N76写断电保存数据时,遇到如下问题:1.debug时在图中的欠压检测中断里打断点,然后断电,可以看到在0x3610处有写数据,但是不打断点,正常运行断电,数据没有被保存;外接的100uf的电容,只保存4个字节的数据,是够的;所选欠压电压为4.4V(程序里的擦除和写的代码检测过无错误),求指点file:///C:/Users/16595/Desktop/1.pngfile:///C:/Users/16595/Desktop/2.png

评论

void BOD_ISR(void) interrupt 8 { //清中断标志 clr_EA; clr_BODEN; config_f[0]=device_hours>> 24; config_f[1]=device_hours>> 16; config_f[2]=device_hours>> 8; config_f[3]=device_hours FLASH_ProgramData((u16)bod_buf, &am  发表于 2018-8-14 17:08
void BOD_ISR(void) interrupt 8 { //清中断标志 clr_EA; clr_BODEN; config_f[0]=device_hours>> 24; config_f[1]=device_hours>> 16; config_f[2]=device_hours>> 8; config_f[3]=device_hours FLASH_ProgramData((u16)bod_buf, &am  发表于 2018-8-14 17:07
void read_device_hours(void) { device_hours|= bod_buf[0] << 24; device_hours|= bod_buf[1] << 16; device_hours|= bod_buf[2] << 8; device_hours|= bod_buf[3] ; if(device_hours != 0xffffffff) device_hours = device_hours;  发表于 2018-8-14 17:05
代码如下: u8 bod_buf[4] _at_ 0x3610; u32 device_hours=0; u8 config_f[4]; void main(void) { Set_All_GPIO_Quasi_Mode; BOD_Init(); read_device_hours(); while(1) { } } void BOD_Init(void) { clr_BOF; clr_BORF; clr_BORST  发表于 2018-8-14 17:05
小明的同学 发表于 2018-8-14 20:47 | 显示全部楼层
本帖最后由 小明的同学 于 2018-8-14 20:48 编辑
  1. void BOD_ISR(void) interrupt 8
huangcunxiake 发表于 2018-8-14 21:45 | 显示全部楼层
参考官方的那个例子没
huangcunxiake 发表于 2018-8-14 21:46 | 显示全部楼层
官方有个文档介绍怎么掉电前保存512个字节数据
 楼主| bxliang 发表于 2018-8-15 09:51 | 显示全部楼层
huangcunxiake 发表于 2018-8-14 21:46
官方有个文档介绍怎么掉电前保存512个字节数据

我就是按官方例程来的,只是没有成功,望指点
 楼主| bxliang 发表于 2018-8-15 09:53 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

12

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部