1 pièce(s) jointe(s)
Aide Ecran Nextion communication avec Arduino Mega2560
Bien le bonjour à toutes et tous,
Et bien voilà, toujours dans le cadre de mon Ampli, après avoir réalisé (grâce à vous) la communication I²C, voilà que c'est l'écran Nextion qui pose problème...
Outre le fait qu'il soit impossible de compter sur l'aide de ITEAD pour du support sur leurs propres produits... j'utilise l'écran sans librairie car celle-ci prends beaucoup trop de place et tue la SRAM...
Donc... j'ai utilisé le Serial2 de la Mega, puis essayé avec le SoftwareSerial, mais toujours le même résutat :
Pour le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#include <SoftwareSerial.h>
SoftwareSerial myNextion (10,11);
String message;
void serialEvent() {
while (myNextion.available()) {
char inChar = (char)myNextion.read();
message += inChar;
if(message.endsWith(".")){
Serial.println(message);
message = "";
}
}
}
void setup() {
// Start Services
Serial.begin(9600);
myNextion.begin(9600);
}
void loop(){
serialEvent();
if(myNextion.available()){
if(message == "*0."){ // page aegduino
currentPage = 'a';
}
if(message == "*1."){ // page sounduino
currentPage = 'b';
}
if(message == "*2."){ // page domoduino
currentPage = 'c';
}
if(message == "*3."){ // page aquaduino
currentPage = 'd';
}
if(message == "*tv."){ // page TV
currentPage = 'e';
}
if(message == "*bx."){// page box
currentPage = 'f';
}
}
} |
Et tout ce que j'obtiens :
Pièce jointe 264201
Dans le Nextion, je n'envoie pas le "component ID" mais je fais un print "*1." pour le bouton qui appelle la page 1,...
Mais il y a des caractères qui remplissent le buffer, tous ces "ÿÿÿÿÿÿÿÿÿÿÿ..."
Résultat est que l'arduino ne reconnait pas le message...
Quelqu'un aurait-il une idée ? est-ce un problème de code ?
J'ai essayé de mettre un startWith() et endWith(), mais rien n'y fait...
Grand merci d'avance pour votre aide,
Aegnor