He estado mirando por aqui y por allá, google, youtube,foros...pero no encuentro lo que quiero.
Tengo una variable que puede ir desde 0 a 1250. va cambiando de valor cada cierto tiempo.
Y quiero mandar el valor de esa variable a otro arduino conectado, por medio de TX/RX.
Utilizando Serial.write(). Pero no lo consigo! me salen -1 y otros valores.
Por qué deseas hacerlo precisamente con Serial.write()? Esta función envía los datos en binario por lo que obtendrás valores en Bytes. Utiliza Serial.print().
Ambos envian datos por el puerto serie. La diferencia entre ellos es como los interpretan.
Serial.write(val) solo envia el byte menos significativo de val. Como ya sabes un byte son 8 bits osea 2^8 =256.
Serial.write(65); produce lo mismo que Serial.write(321); o Serial.write(577); o Serial.write(833);
321 - 256 = 65
577 - 512 = 65
833 - 768 = 65
En conclusion puedes usar Serial.write() pero cada ves tu variable int la debes descomponer en 2 bytes enviar cada byte y reconstruirlo en el otro Arduino.
ya ves...como se complica la cosa por algo tan simple como pasar el valor de una variable.
Tenéis algún código simple o algún link a un código? Para poderlo ver claramente.
surbyte:
Que tal si lees la informacion disponible en documentacion (libros y clases de youtube). Lo que preguntas es el capitulo 2 de cualquier libro.
capitulo 2.... No me refiero al Serial.print(). Los ejemplos que he visto de Serial.write() enviaban strings o eran muy complejos y no me han servido de nada.
Ya me busco la vida, no te preocupes.
Lo que wuieres enviar es un entero. Serial.write envia bytes. Un entero esta formado por dos bytes.sigue siendo informacion del libro peto parece que no te gusta mi respuesta. Donde crees que lo aprendi yo?