Hola Juantreras, intenta probar con el siguiente código en el emisor:
unsigned int micontadorpulsos=1550; //la variable que aumento cada vez que recibo un pulso nuevo
byte byte_bajo;
byte byte_alto;
void setup() {
Serial.begin(9600);
}
void loop(){
byte_bajo=micontadorpulsos & 255;
byte_alto=(micontadorpulsos >> 8 ) & 255;
Serial.print('S', BYTE);
Serial.print(byte_bajo,BYTE);
Serial.print(byte_alto,BYTE);
Serial.print('F', BYTE);
delay (2000);
}
Y el siguiente en el lado del receptor:
byte byte_bajo;
byte byte_alto;
unsigned int contadorPulsos;
void setup() {
Serial.begin(9600);
}
void loop() {
//Compruebo si han llegado datos por el puerto serie
if (Serial.available() > 0) {
//Si el dato que ha llegado es S significa que comienza la transmisión
//del contador de pulsos.
if (Serial.read() == 'S') {
byte_bajo = Serial.read(); //Leo el byte_bajo del puerto serie
byte_alto = Serial.read(); //Leo el byte_alto del puerto serie
contadorPulsos = ((byte_alto << 8) && (byte_bajo)); //Junto todo en una variable
Serial.read(); //Como el protocolo envia una F la leo y en este caso la
//desecho porque no la necesito para nada
}
}
}
En este caso las tramas se envían con un protocolo como ha dicho Igor_R que es Sbyte_bajobyte_altoF.
Espero que te pueda ayudar.
Saludos chato_sat