Bonjour à tous,
J'ai déjà posté pas mal de fois sur ce sujet alors j'ai jugé bon de créer un nouveau topic pour la partie programmation.
Niveau hardware : pas de problème, mes deux Uno sont interfacés via deux MAX202
Je souhaite envoyé :
void setup()
{
Serial.begin(9600);
}
void loop()
{
delay(500);
Serial.write('D');
Serial.write(1);
Serial.write(64);
Serial.write(128);
Serial.write(255);
}
Le caractère D me permet de détecter que j'envoie bien les commandes de PWM pour mes moteurs : il me sert de "top départ". J'envoie donc ensuite 4 commandes de PWM sur la liaison série et c'est ces 4 valeurs que je souhaite récupérer.
J'ai donc utilisé le code ci dessous pour les récupérer :
char message[4];
int n_octet = 5;
void setup()
{
Serial.begin(9600);
//pinMode(13, OUTPUT);
}
void loop()
{
if (Serial.available()>0)
{
if(Serial.read()!='D')
{
delay(50);
}
else
{
for(int n=1; n<n_octet; n++)
{
message[n]=Serial.read();
Serial.print(message[n]);
}
}
}
}
Malheureusement, je visualise sur le port série : FF FF FF 01 au lieu du 01 40 80 FF attendu...
Je ne comprends vraiment pas pourquoi ...