[技术问答] 如何建立参数初始化

[复制链接]
1104|13
 楼主| xinruan 发表于 2015-3-25 16:07 | 显示全部楼层 |阅读模式

#include "E2PROM.h"

static INT16U        EEPROM_R[cwEEPROM_MAX];
static INT16U        EEPROM_W[cwEEPROM_MAX];

void sFactorySET(void)
{
        //请问,在这里如何建立参数初始化
}

void sRecovery(INT8U bTotal)
{
        INT8U i;
        eepromRead(0,EEPROM_R,cwEEPROM_MAX);               

        if (EEPROM_R[0] == 0xFFFF||EEPROM_R[0] == 0){
                sFactorySET();                //所有参数第一次使用前将参数初始化
                for (i= 0; i<bTotal-cwPASSIVE_CNT; i++){        //15个
                        EEPROM_W[i] = (INT16U)*((&g_wSYZJ)+i);
                        EEPROM_R[i] = (INT16U)*((&g_wSYZJ)+i);
                }
                eepromWriteNByte(EEPROM_W,0x300,cwEEPROM_MAX);
                for (i= 0; i<bTotal; i++){
                        EEPROM_W[i] = (INT16U)*((&g_wSYZJ)+i);
                }
                eepromWriteNByte(EEPROM_W,0x0,cwEEPROM_MAX);
        }else{
                if (g_wCSHF==1){                //参数恢复
                        eepromRead(0x300,EEPROM_R,cwEEPROM_MAX);
                        for (i= 0; i<(bTotal-cwPASSIVE_CNT); i++){
                                *((&g_wSYZJ)+i) = EEPROM_R[i];
                        }
                }else{
                        eepromRead(0x0,EEPROM_R,cwEEPROM_MAX);
                        for (i= 0; i<bTotal; i++){
                                *((&g_wSYZJ)+i) = EEPROM_R[i];
                        }
                }
        }               
}
 楼主| xinruan 发表于 2015-3-25 17:26 | 显示全部楼层
五个变量为g_wSYZJ,g_wSYAA,g_wSYAB,g_wSYAC,g_wSYAD

变量cwPASSIVE_CNT=5
lovecat2015 发表于 2015-3-25 20:13 | 显示全部楼层
楼主你的具体问题是什么呢?
 楼主| xinruan 发表于 2015-3-26 09:02 | 显示全部楼层
在函数void sFactorySET(void)
如何添加五个变量g_wSYZJ,g_wSYAA,g_wSYAB,g_wSYAC,g_wSYAD的参数初始化
598330983 发表于 2015-3-31 07:16 来自手机 | 显示全部楼层
如果是复杂的,可以考虑结构体
598330983 发表于 2015-3-31 07:17 来自手机 | 显示全部楼层
通过结构体很容易再用指针调用穿送给函数初始化
598330983 发表于 2015-3-31 07:18 来自手机 | 显示全部楼层
把五个变量作为参数放到那个函数里
598330983 发表于 2015-3-31 07:18 来自手机 | 显示全部楼层
如果不传递参数,直接写到内部也是可以的。
598330983 发表于 2015-3-31 07:19 来自手机 | 显示全部楼层
不过建议把空改成参数吧,再内部负值给变量
mintspring 发表于 2015-3-31 07:34 来自手机 | 显示全部楼层
通过参数传递可以做到
mintspring 发表于 2015-3-31 07:34 来自手机 | 显示全部楼层
也可以通过结构体变量,也可以
mintspring 发表于 2015-3-31 07:35 来自手机 | 显示全部楼层
结构体变量要用指针最好做,直接就穿送过去了
mintspring 发表于 2015-3-31 07:35 来自手机 | 显示全部楼层
楼主可以参考库函数怎么设计的
jheng 发表于 2015-3-31 22:06 | 显示全部楼层
学习学习。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

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