Arduino从EEPROM读取json /将uint8_t转换为char

时间:2016-08-26 15:40:06

标签: arduino arduino-uno eeprom

我正在使用ArduinoJSON在Arduino Uno的EEPROM上写几个数据点。我遇到了<ContentPage.ToolbarItems> <ToolbarItem Text="{Binding EditButtonText, Mode=TwoWay}" Clicked="EditClicked" Order="Secondary" /> </ContentPage.ToolbarItems> 的问题,我需要将uint8_t转换为char,将检索到的数据传递给我的JSON解析器。

这是我第一次使用EEPROM,所以我愿意打赌,有更好的方法可以做到这一点。我应该继续使用JSON还是有更好的方法?我对EEPROM的10k写入限制(给予或接受)持谨慎态度。

EEPROM读/写被注释掉,直到我的进程被确定为止

getGroundedPR

1 个答案:

答案 0 :(得分:2)

EEPROM函数read()write()仅处理单个字符。您需要使用put()get()来处理数组。

char buffer[256];
root.printTo(buffer, sizeof(buffer));
EEPROM.put(EEPROM_ADDRESS_IMU_GROUNDED, buffer);

并回读:

char json[256];
EEPROM.get(EEPROM_ADDRESS_IMU_GROUNDED, json);
JsonObject& root = jsonBuffer.parseObject(json);

您需要注意数组大小,EEPROM函数将获取并放入数组中的字节数(256)。字符串应该以null结尾,因此额外的字节不应该导致问题。