etec 发表于 2026-5-10 17:05:29

wulin 发表于 2026-5-8 06:18
提醒:第100行与第101行的注释颠倒
您好,开启低压检测中断,再中断中调用EEpromo存储程序,keil 编译时,发生了报错,
全局变量初始化时调用了 Flash 写函数,启动文件C51STARTUP会初始化全局变量,如果你的全局变量初始化代码里调用了写 Flash 函数,
就会触发;
中断函数 / 掉电检测函数 直接在 main 里调用 Flash 写,和启动流程冲突;
Flash 写函数在初始化阶段和主循环都被调用,Keil 判定多路径调用。

wulin 发表于 2026-5-10 17:29:07

etec 发表于 2026-5-10 17:05
您好,开启低压检测中断,再中断中调用EEpromo存储程序,keil 编译时,发生了报错,
全局变量初始化时调用 ...

上述程序已经说明软硬件条件,编译工具Keil uVision2。完整程序文件如下:



etec 发表于 2026-5-10 17:41:37

wulin 发表于 2026-5-10 17:29
上述程序已经说明软硬件条件,编译工具Keil uVision2。完整程序文件如下:




您好,低压检测存储功能,试过已经可以了,就是软件编译的时候,有个提醒多路径调用报错,想问下,您有没有碰到

wulin 发表于 2026-5-10 17:45:46

etec 发表于 2026-5-10 17:41
您好,低压检测存储功能,试过已经可以了,就是软件编译的时候,有个提醒多路径调用报错,想问下,您有没 ...


xiaobendan 发表于 2026-5-11 09:03:45

etec 发表于 2026-5-10 17:41
您好,低压检测存储功能,试过已经可以了,就是软件编译的时候,有个提醒多路径调用报错,想问下,您有没 ...

在主循环或者多个中断里面调用同一个子程序就有警告,不会有错误
你只要保证在代码里面不会发生重入就没问题吧
我的代码里面有4个这样的警告,就是在启动时读了EEPROM,然后在设定某参数后又读了,是在中断里面读的,所以就警告了。

etec 发表于 2026-5-15 16:18:57

xiaobendan 发表于 2026-5-11 09:03
在主循环或者多个中断里面调用同一个子程序就有警告,不会有错误
你只要保证在代码里面不会发生重入就没 ...

好的,谢谢

vb2002 发表于 2026-6-7 22:37:32

不加任何外部元件的情况下
1, lvd中断
2,adc
3,比较器中断
4,IO中断(这个要稳定的话需要在vcc前端加一个肖特基,然后上拉到二极管前面)
如果需要保存的数据比较多的话, 加大电容即可
如果是重要的数据的话, 还是用姚总那个专业的掉电检测电路.
页: 1 [2]
查看完整版本: 咨询掉电自动存储设计方案