Bonjour,
J'ouvre ce topic, car je n'ai pas trouvé de solution à mon problème.
J'ai fait des essais concluants de connexion entre une carte Mega 2560 et une carte Nano en passant par les TX2/RX2 de la Mega et les pins 10 et 11 de la Nano. J'émets et je reçois correctement.
Si je fais les mêmes branchements sur 2 Mega, ça fonctionne toujours par contre si je passe par les TX2/RX2 sur les 2 cartes ça ne marche plus. J'ai bien vérifié que les RX et la carte 1 allait sur le TX de la carte 2 et le TX de la carte 1 allait sur le RX de la carte 2. Le GND est raccordé sur les deux cartes.
Voici la connexion qui ne fonctionne pas :
Mes programmes :
Emetteur :
#include <SoftwareSerial.h>
SoftwareSerial mySerial(18, 19); // RX, TX
byte i = 1;
int j = 1;
int k = "1";
void setup() {
Serial.begin(57600);
mySerial.begin(9600);
}
void loop() {
Serial.print("i = ");
Serial.print(i);
mySerial.println(i);
delay(2000);
Serial.print(" j = ");
Serial.print(j);
mySerial.println(j);
delay(2000);
k = int(i);
Serial.print(" k = ");
Serial.println(k);
mySerial.println(k);
delay(2000);
}
Recepteur :
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
int x = 0;
byte incomingByte;
int i = 0;
void setup() {
Serial.begin(57600); // Serial monitor sur l'écran du PC
mySerial.begin(9600);
}
void loop() {
if (mySerial.available() > 0) {
incomingByte = mySerial.read();
x = int(incomingByte);
Serial.print(" ! incomingByte=");
Serial.print(incomingByte);
Serial.print(" ! x=");
Serial.println(x);
}
}
Je précise que les cartes Mega sont des az-delivery et que les indications sur les pins 18 et 19 sont inversées par rapport aux autres pins de communication (le sont-elles réellement ???).
J'ai également essayé avec les pins 22 et 23 au lieu des 10 et 11 sans résultat positif.
J'ai bien sûr essayé avec les deux possibilités sur les TX/RX2 ou RX/TX2
Pourriez-vous m'expliquer pourquoi avec les 10 et 11 est OK, mais qu'avec les 18/19 ou 22/23 ce n'est pas OK ?
Merci à vous
Cordialement

