Mi problema es que las variables long que declaro no toman los valores que deberían, y están a varios años luces de llenarse:
esto:
unsigned long sal = 24*3600;
Serial.println(sal);
me devuelve: 20.864
y deveria devolver 86.400
y esto:
unsigned long sal = 123024*3600;
Serial.println(sal);
me devuelve: 42.949.41.696
y deveria devolver 31.104.000
Como se ve lo que debería de darme esta muy lejos del limite de la variable : 4,294,967,295
Seguramente sea una tonteria la solución aunque no la encuentro
Hola. Intuyo que te está truncando a int tu long, yaque si restas el valor obtenido del deseado obtenemos 65536 (10000H).
No estoy seguro si el truncado se produce en la operación previa al almacenado en tu variable o es serial quien lo trunca, aunque me inclino por lo primero.
Prueba a almacenar los operandos en variables long y usar éstas a ver.
Si funciona, puedes probar tu código original haciendo cast al cálculo.