Communication série : accusé de réception

Bonjour,

Après la résolution de mon problème de RAM, je reviens avec un autre soucis qui jusque-là ne m'embêtais pas vraiment.
J'ai 2 Arduinos qui communiquent par liaison série avec le code suivant :
1ere Arduino utilise Serial2 :

                 if (!stop_envoi)
		 {
			 Serial2.print('G');
			 serial2Event_A1(); // fonction écoutant la liaison série et copie le caractère reçu dans "message"
		 }
		 
		if (message=='g')
		{
			stop_envoi=true;
                        serial2Event_A1();
			Serial2.print('H');
			Serial.println(F("g : recu on acquitte avec H"));
		}
	
		 if (message=='h')
		 {
			 GO_Ouv=true;
			 Serial.println(F("h recu Go ouverture"));
			 viderCommunication_A1();
		 }

2e Arduino utilise Serial1 :

                 if (!stop_envoi)
		 {
			Serial1.print('g');
			serial2Event_A2();
		 }
		 
		 if (message2=='G')
		 {
			 stop_envoi=true;
			 Serial1.print('h');
			 serial2Event_A2();
			 Serial.println(F("G: recu on acquitte avec h"));
		 }
		 
		 if(message2=='H')
		 {
			 GO_Ouv=true;
			 Serial.println(F("H recu Go ouverture"));
			 viderCommunication_A2();
		 }

Le soucis est qu'une fois sur 2, une des Arduinos saute l'étape du milieu et n'envoie pas le caractère 'H' (Arduino 1) ou 'h' (Arduino 2).

Ma question est, est-il possible de savoir qu'un caractère envoyé par liaison série a été bien reçu ?
Cela éviterait par exemple à l'Arduino 1 de devoir attendre que le 2e acquitte la réception du message pour pouvoir continuer. Ce qui ne bloquera pas le programme parce qu'on ne sera pas dépendant de l'acquittement.
Le but étant de synchroniser mes Arduinos.

Je vous remercie.

bonjour,
envoyer un checksum pour vérification et renvoyer le checksum recu
si les deux sont identiques on continue sinon on refait l'opération.

infobarquee:
bonjour,
envoyer un checksum pour vérification et renvoyer le checksum recu
si les deux sont identiques on continue sinon on refait l'opération.

Comment ça marche ?