Problemas al guardar en EEPROM

Buenas noches, quisiera saber como poder guardar números mayores de 255 en EEPROM. En si ocupo valores de 0 a 1634, aquí esta el código:

#include <EEPROM.h>
float addr = 0,ss=0;
void setup() {
 Serial.begin(115200);
}

void loop() {
 if(Serial.available()>0){
   float val = Serial.parseInt();
 val/=10;
 EEPROM.write(addr, val);
 ss=EEPROM.read(addr);
 Serial.println(ss);
 delay(2);
 }
}

Evidentemente necesitas guardar el valor repartido en varias posiciones de memoria, y luego recomponerlo partiendo de esas posiciones. Para un int, por ejemplo, necesitarás dos posiciones.
Sabiendo cuánta memoria necesita cada tipo de dato, una buena opción sería utilizar estas plantillas para guardar cualquier dato, incluso estructuras.

tu numero es mayor que 255 por tanto ocupa dos bytes

Tienes que guardarlo en dos direcciones la primera byte de menos peso (por ejemplo) y en la segunda el resto

EEPROM.write(addr , va &  0x00FF);
EEPROM.write(addr+1, val  >> 8);

para leer tienes que hacer el proceso inverso:

ss_L=EEPROM.read(addr);
ss_H=EEPROM.read(addr+1);

ss= (ss_h<<8) | ss_L;

Aqui esta solucion completa a este problemita!!

#include <EEPROM.h>
int Direccion;

void setup() {
Direccion = 100;
Serial.begin(9600);
}

void loop() {

int A = 800;
int B = 0;

byte L;
byte H;

H = highByte(A);
L = lowByte(A);

EEPROM.write(Direccion, H);
EEPROM.write(Direccion + 1, L);
L=EEPROM.read(Direccion);
H=EEPROM.read(Direccion + 1);
B = (L<<8) | H;

Serial.println(B);

}

El tema es del 2015, la solución ya la habia dado Go_zalo pero el autor no se dignó en responder.
No revivas hilos que tengan mas de 120 dias aún con el aporte positivo que has hecho.
Lo dejo porque ayudas pero tenlo en cuenta a futuro.
Cierro el hilo porque esta solucionado hace 2 años y ahora mejor aún.