51单片机编程的问题:怎么实现每次运行程序时,某个变量的值都是上次运行程序时给它赋的值?

比如在程序开始初始化一个变量n为0,程序运行时给n赋了一个新的值,假设为0.5吧。程序运行结束后,如果再次运行这个程序时怎么让n的值一开始就为0.5而不是0呢?有人说把它... 比如在程序开始初始化一个变量n为0,程序运行时给n赋了一个新的值,假设为0.5吧。程序运行结束后,如果再次运行这个程序时怎么让n的值一开始就为0.5而不是0呢?有人说把它存到rom里的,直接char code n就行吗?还有说设置成静态变量,但是静态变量在程序结束后不是就消失了吗?求解答 展开
 我来答
烟火夜空
2014-05-17 · TA获得超过6623个赞
知道大有可为答主
回答量:1678
采纳率:93%
帮助的人:562万
展开全部
程序结束 分 子函数 结束 和 主函数 结束,如果是 子函数结束,那么 使用 静态变量 即可满足LZ的要求。子函数结束后,静态变量依旧存在,就如同 全局变量,只是它只属于这个 子函数 的全局变量。
如果是 主函数 结束,这就等效系统复位,系统又重新开始,从头来过,使用变量已经无法满足要求,必须使用 掉电保护的 EEPROM 才能存储变量值了。
追问
对对,我就要用单片机的Flash/EE存储,直接char code n行吗?
追答
code  是 程序 代码区,在 本程序执行过程,具有不可修改性,也就是说,它是用来 存常量的,而不是用来存 变量 的。
百度网友a7d6d5190
2014-05-17 · TA获得超过120个赞
知道小有建树答主
回答量:104
采纳率:100%
帮助的人:118万
展开全部
请查看手册中eeprom的用法。
追问
我要用C语言编程,但手册里的例子是用汇编编的,要先擦除什么的,没看太懂。我看一本书上说用char code就可以把变量存到ROM,这样行吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式