Bonjour !
J'essaie de faire communiquer deux arduino Mega entre eux mais j'ai un problème:
if (Serial1.available())
{
if (Serial1.read() == 'A')
{
VARIABLE = 1;
Serial.println("MESSAGE A");
}
else
{
Serial.println("COM_WITHOUT_MESSAGE");
}
}
else
{
Serial.println("No_COM");
}
Avec le premier arduino je print en permanance 'A' ( oui je sait c'est très sale )
Comme ça , le code fonctionne, seulement, si je supprime la ligne :
Serial.println("MESSAGE A");
Il m'affiche COM_WITHOUT_MESSAGE , Sauf si la VARIABLE change et que du coup la Print la refait changer,
Mais si je supprime aussi COM_WITHOUT_MESSAGE
Il me print le No_COM , et ne recois plus le A ( la VARIABLE ne change même plus )
Les codes "complets"
Arduino qui envoi:
const int TX1 = 18;
const int RX1 = 19;
void setup() {
pinMode(TX1, OUTPUT);
pinMode(RX1, INPUT);
Serial1.begin(9600);
Serial.begin(9600);
}
void loop() {
Serial1.print('A');
}
Arduino qui reçois:
const int TX1 = 18;
const int RX1 = 19;
int VARIABLE =0;
void setup() {
pinMode(TX1, OUTPUT);
pinMode(RX1, INPUT);
Serial1.begin(9600);
Serial.begin(9600);
}
void loop() {
if (Serial1.available())
{
if (Serial1.read() == 'A')
{
VARIABLE = 1;
Serial.println("MESSAGE A");
}
else
{
Serial.println("COM_WITHOUT_MESSAGE");
}
}
else
{
Serial.println("No_COM");
}
if ( VARIABLE == 1 )
{
VARIABLE = 0;
}
}
Aussi une autre chose étrange , avec le moniteur d'arduino j'ai fait ceci :
if (Serial.available())
{
if (Serial.read() == 'B')
{
VALID_REQUEST = 1;
Serial.println("OK");
}
}
Il me print bien le OK , mais ne me change absolument pas la variable.
Savez vous pourquoi ?
Merci à vous!