Bonjour à tous,
Je me lance depuis très peu de temps dans la conception d'un système de gestion d'eau pour ma piscine, a base d'arduino uno et d'Esp32 pour la connexion wifi, n'ayant pas assez de gpio sur l'esp.
J'avale le C depuis seulement quinze jours, mais j'ai un problème avec la transmission d'int (2 octets) via la liaison série.
J'ai un int de valeur 300 que j’envoie sur la ligne série, en le décomposant octet de poids faible puis octet de poids fort.
A l'arrivée, j’obtiens = octet de poids faible 44, octet de poids fort 01, ce qui donne 1 0100 0100 soit 324 en décimal ?
Ça fonctionne très bien pour les int inférieurs à 255.
mon code pour l'émission :
int distance = 300;
s.write(distance & 0xFF); // Envoi l'octet de poids faible
s.write((distance >> 8) & 0xFF); // puis l'octet de poids fort
Pour la réception :
byte car;
while (Serial.available() > 0)
{
delay(5);
car = Serial.read();
Je sèche !!!!