将int值保存到Eeprom中,然后再次将其加载回值中

时间:2019-03-20 19:16:14

标签: c arduino esp32

所以我试图将一个整数值保存到Eeprom中,然后再次将其加载回一个值中。但是问题是,我无法将保存的int值正确加载到新的int值中。

我这样做是因为我想将新的int值与已保存的int值进行比较,以控制从该值得到的旋转数的步进电机。

void SaveParam(int* param) {
    Serial.print("Saving Param: ");
    //Serial.println(param);
    EEPROM.begin(512);
    for (int i = 0; i < 4; i++)
        EEPROM.write(i+500, (int)param[i]);
    EEPROM.end();
}

int LoadParam(){
    int b[10];
    EEPROM.begin(512);
    for (int i = 0; i < 4; i++)
        b[i]= byte(EEPROM.read(i+500));   
    EEPROM.end();
    return b[10];
}


// main part
int b = (int)LoadParam();
int* val = &i;

if (i>b) {
    Serial.print("Motor is going down (clockwise) ");    
    MotorMoveDown(i);
    SaveParam(val);
    Serial.println(b);
} else if (i<b) {
    Serial.print("Motor is going up (counter-clockwise)"); 
    MotorMove(i);
}

0 个答案:

没有答案