首页 > 其他分享 >C语言以结构体的方式写入eeprom数据

C语言以结构体的方式写入eeprom数据

时间:2023-03-31 10:25:14浏览次数:44  
标签:min 写入 unsigned C语言 char 保存 change EEPROM eeprom

unsigned char   min_change0=0,  //要保存的变量值第一组,每一次改变都会保存
unsigned char   min_change_backup0=0; //该变量为中间变量,用于与min_change做对比,下同

unsigned char   min_change1=0,  //要保存的变量值第二组,每一次改变都会保存
unsigned char   min_change_backup1=0;

unsigned char   min_change2=0,  //要保存的变量值第三组,每一次改变都会保存  
unsigned char   min_change_backup2=0;

void EEPROM_Write(timeset*, unsigned char, unsigned char) ; //数据保存并写入EEPROM
EEPROM_write(unsigned char,  unsigned char, );  //内部EEPROM写入函数


typedef struct  EEPROM_Save
{
        unsigned char* min_set;
        unsigned char* min_set_backup;
} timeset;


timeset  EEPROM_SAVE[3] ={      //定义并初始化一个结构体数组,数组元素是指针,数组元素为三组需要保存的数据
{&min_change0, &min_change_backup0},
{&min_change1, &min_change_backup1},
{&min_change2, &min_change_backup2}

};

int main(void)
{
   while(1)
   {
      for(int j=0; j <3; j++)
      {
         EEPROM_Write(EEPROM_SAVE,  j,  (j+1)) ;
      }
   }
}


void EEPROM_Write(timeset* table, unsigned char i, unsigned char addr)
{
        if (*(table[i].min_set)  != *(table[i].min_set_backup)) //如果min_change和min_change_backup不相等,则开始保存
        {
              *(table[i].min_set_backup) = *(table[i].min_set) ; //保存数据
                  EEPROM_write(addr,  *(table[i].min_set_backup));  //写入EEPROM

         }
}

 

标签:min,写入,unsigned,C语言,char,保存,change,EEPROM,eeprom
From: https://www.cnblogs.com/mokongking/p/17275415.html

相关文章

  • 文件-C语言
    格式化的输入输出:printf%[flag][width][.prec][hil]typescanf%[flag]typeprintf:%[flag][width][.prec][hil]typeFlag含义-左对齐+在前面放+或-(space)正数留空00填充width或prec含义number最小字符数*下一个参数是字符数.numbe......
  • 学习C语言第三天
    前一天学习的数组,接下来要学习的是二维数组和函数。一.二维数组1.1引入场景有三个小队,每个小队都有10个人,对小队进行一些操作。1.2二维数组的定义和表达形式二位数组通常称为矩阵类型说明符数组名[常量表达式][常量表达式]例:intarr[3][3];//一个......
  • pandas写入数据库
    importpandasaspdfromsqlalchemyimportcreate_engineimportnumpyasnpw=np.array([1,2,3])datas=pd.DataFrame(w)print(datas)engine=create_engine("mysql+pymysql://root:1234567890@localhost:3306/studentmemo?charset=utf8")con=engine.c......
  • 联合、变量、宏-C语言
    在C语言中,联合有以下特性:存储方面:所有的成员共享一个空间同一时间只有一个成员是有效的union的大小是其最大的成员初始化:对第一个成员做初始化静态本地变量:在本地......
  • C语言的函数原型(执行顺序问题)
    以下面一段代码为参考:像这样把sum()写在上面是因为:C语言的编译器是从上往下执行代码的,当他看到sum(1,10);sum(1,100);时,要知道sum()是个什么东西,也就是sum()要几个参......
  • C语言中printf各种格式符所代表的含义
    %d输出十进制整型%ld输出长整型%c输出字符型数据%s输出字符串%f输出浮点型float数据%lf输出double数据%u输出无符号十进制数据%p输......
  • 学习C语言第二天
    关于昨天的流程控制,决定暂时跳过,偷懒一下,因为再学习java对这些流程控制语句较为熟悉,故明天或者后天再做一些习题进行补充,今天进行数组的学习。一.数组1.引入当......
  • 结构体-C语言
    结构和本地变量一样,在函数内部声明的结构类型只能在函数内部使用所以通常在函数外部声明的结构类型,这样就可以被多个函数所使用了以下类似代码参考:1#include<stdio.......
  • 学习C语言第一天
    回想起大学的学习编程语言的经历,不管什么语言都是从一个helloworld!开始,当控制台输出helloworld!时候,就会很开心,紧张的心情一下就放松开了,就认为自己已经掌握了一门编......
  • C语言指针的理解
    //demo1.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include<stdio.h>inti;voidch(int*a,int*b){ intp; ......