#include <WProgram.h>
#include <EEPROM.h>
template <class T> int EEPROM_writeAnything(int ee, const T& value)
{
const byte* p = (const byte*)(const void*)&value;
int i;
for (i = 0; i < sizeof(value); i++)
EEPROM.write(ee++, *p++);
return i;
}
template <class T> int EEPROM_readAnything(int ee, T& value)
{
byte* p = (byte*)(void*)&value;
int i;
for (i = 0; i < sizeof(value); i++)
*p++ = EEPROM.read(ee++);
return i;
}
Привет сообщество,
Я получаю следующие ошибки для моего кода:
EEPROMAnything.h: в функции ‘int EEPROM_writeAnything (int, const T&) ‘:
EEPROMAnything.h: 6: ошибка: ожидается инициализатор перед маркером ‘*’
EEPROMAnything.h: 9: ошибка: ‘p’ не было объявлено в этой области
EEPROMAnything.h: в функции ‘int EEPROM_readAnything (int, T&) ‘:
EEPROMAnything.h: 15: ошибка: «байт» не был объявлен в этой области
EEPROMAnything.h: 15: ошибка: ‘p’ не было объявлено в этой области
EEPROMAnything.h: 15: ошибка: ожидаемое первичное выражение до маркера ‘)’
EEPROMAnything.h: 15: ошибка: ожидаемое первичное выражение до ‘void’
Не уверен, что мне не хватает в этом наборе. Буду рад обратной связи!
Спасибо
выяснил что не работает
#include <WProgram.h>
должно быть вместо
#include <Arduino.h>
спасибо за комментарии сообщества!