找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1617|回复: 7
打印 上一主题 下一主题
收起左侧

求一个检测到参数改变就往EEPROM中写入的MCU程序框架

[复制链接]
跳转到指定楼层
楼主
ID:997026 发表于 2022-2-28 16:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在要做一个小的监控器,需要设置监控时间,为了每次开机时不需要一直设置时间,需要在每次关机前保存当前参数,下次开机前就不需要重新设置了。

现在是想把时间参数保存到EEPROM中,当设置好时间时,同时就自动写入EEPROM中,下次开机后再读取。如果时间没有被改动,就不需要重复写入,只是检测到时间改动后再写入。

比如如果当前时间设置是20分钟,如果这一天中,时间设置的都是20分钟, 没有设置新的时间,就保存20分钟到EEPROM, 如果上午设置的是20分钟,下午设置了新的时间30分钟,当检测到时间改变时,就把30写进EEPROM, 覆盖之前的20. 简单说就是把最后一次设置的时间写入EEPROM.

不需要掉电检测,初步就是这个想法,只需检测时间参数改动就往EEPROM中写入新的参数保存,不改动就不写。

求一个大概的程序框架,只需要检测到时间参数改动就往EEPROM中写,以及下次开机读取的大致程序。不需要EERPOM本身的读写程序。

感谢各位!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2022-2-28 20:31 | 只看该作者
        if(a!=b)
        {
                b=a;
                //保存b到EEPROM中
        }
回复

使用道具 举报

板凳
ID:624769 发表于 2022-2-28 20:47 | 只看该作者
Eeprom 大体有三种,  
一种是 片外Eeprom:  比如 AT24C02, 一般需要通过 IIC 传输协议 进行读写。写一个字节大约需要 40us 左右的时间。
一种是 片内Eeprom:  51系列来讲,比较有代表性的就是 WCH 的  CH55x系列,读写都比较方便,就是写几个寄存器,写一个字节,大约需要5us 左右。
还有一种就是 片内Flash 模拟 Eeprom,比较有代表性的就是STC的全系列。 基本和片内Eeprom 用起来差不多,最大的区别就是不能改写,只能整个扇区擦出后,重写,如果你要使用这种Eeprom 的话,就要考虑一个擦除问题,因为擦除一个扇区的时间大约需要 21ms,而单片机在理想状态下,从感知掉电到彻底没电,或者说剩余电量可以用来操作Eeprom 的存留时间不超过10ms,所以,你要在掉电是存储Eeprom必须在感知掉电前就完成了扇区擦除工作。这个在程序里必须提前做好。其他的就是普通操作了。
回复

使用道具 举报

地板
ID:997026 发表于 2022-2-28 23:15 | 只看该作者
wulin 发表于 2022-2-28 20:31
if(a!=b)
        {
                b=a;

哈哈,这么简单嘛
回复

使用道具 举报

5#
ID:997026 发表于 2022-2-28 23:16 | 只看该作者
188610329 发表于 2022-2-28 20:47
Eeprom 大体有三种,  
一种是 片外Eeprom:  比如 AT24C02, 一般需要通过 IIC 传输协议 进行读写。写一个字 ...

谢谢,我用的是AVR单片机,不知道擦除EEPROM是不是先要擦除扇区,以前从来没用过EEPROM
回复

使用道具 举报

6#
ID:997026 发表于 2022-3-7 22:32 | 只看该作者
wulin 发表于 2022-2-28 20:31
if(a!=b)
        {
                b=a;

有个问题请教下,我现在需要保存的数据有100多个,如果有改动就保存的话,要设置100多个变量, 程序太长了,写下来累死了。有没有比较简单方便的写法,比如循环之类的,可以方便的实现你这个功能的?谢谢
回复

使用道具 举报

7#
ID:944091 发表于 2022-3-7 22:50 来自手机 | 只看该作者
hxdby 发表于 2022-3-7 22:32
有个问题请教下,我现在需要保存的数据有100多个,如果有改动就保存的话,要设置100多个变量, 程序太长 ...

用指针可以实现
回复

使用道具 举报

8#
ID:997026 发表于 2022-3-7 23:34 | 只看该作者

明白,谢谢,我研究下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表