【发布时间】:2016-08-27 15:46:39
【问题描述】:
我正在使用ArduinoJSON 将几个数据点写入我在 Arduino Uno 上的 EEPROM。我遇到了getGroundedPR 的问题,我需要将 uint8_t 转换为 char 以将检索到的数据传递到我的 JSON 解析器。
这是我第一次使用 EEPROM,所以我敢打赌会有更好的方法来做到这一点。我应该继续使用 JSON 还是有更好的方法?我对 EEPROM 上的 10k 写入限制(给予或接受)持谨慎态度。
EEPROM 读/写被注释掉,直到我确定我的过程
void IMUController::setGroundedPR(double p, double r) {
Serial.print("Setting IMU ground: ");
StaticJsonBuffer<200> jsonBuffer;
JsonObject& root = jsonBuffer.createObject();
root["pitch"] = p;
root["roll"] = r;
root.printTo(Serial);
char buffer[256];
root.printTo(buffer, sizeof(buffer));
Serial.println();
// EEPROM.write(EEPROM_ADDRESS_IMU_GROUNDED, buffer);
}
double* IMUController::getGroundedPR() {
double ret[2] = {0, 0};
StaticJsonBuffer<200> jsonBuffer;
uint8_t json_saved = EEPROM.read(EEPROM_ADDRESS_IMU_GROUNDED);
char json[] = "asdf"; // convert json_saved to char here
JsonObject& root = jsonBuffer.parseObject(json);
if(!root.success()) {
// return the result
ret[0] = (double)root["pitch"];
ret[1] = (double)root["roll"];
return ret;
}
return ret;
}
【问题讨论】:
标签: arduino arduino-uno eeprom