Пример с записью/чтением через терминал. Запись двухбайтной переменной от 0 до 65535.
Запись: в терминале отправляем 12345> в еепром пишется 12345
Чтение: R. Возвращает считанное значение
PHP код:#include <EEPROM.h>
unsigned int invar=0;//переменная, которая будет записываться в еепром
String instring="";//строка входящая для порта
unsigned int eeprom_read()//чтение из еепром
{
unsigned int res=0;
res=(EEPROM.read(2)<<8)|EEPROM.read(1);//читаем оба байта и собираем значение
return res;
}
void eeprom_write(unsigned int val)//запись в еепром
{
EEPROM.write(1, (val & 0xFF)); //пишем младший байт
EEPROM.write(2, ((val & 0xFF00) >> 8));//пишем старший байт
}
void setup(void)
{
Serial.begin(9600);//порт
}
void loop(void)
{
if(Serial.available()!=0)//есть входящий байт
{
byte inchar=Serial.read();//читаем его
if(inchar=='>')//если пришел символ ">", то формируем из строки переменную и пишем ее в еепром
{
invar=instring.toInt();//строка в int
Serial.print("Val to write:");
Serial.println(invar);//для отладки выводим в порт то значение, которое получили
eeprom_write(invar);//пишем его в еепром
instring="";//обнуляем строку входящих
}
else if(inchar=='R')//пришел символ R. читаем еепром и выводим в порт
{
Serial.print("Read:");
Serial.println(eeprom_read(),DEC);//выводим в порт то, что прочитали
instring="";//обнуляем строку входящих
}
else//пришло что-то еше
{
if (isDigit(inchar))//проверяем цифра ли это
{
instring += (char)inchar; //если да, то добавляем ее в строку
}
}
}
}




Ответить с цитированием