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 :
Et tout ce que j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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'; } } }
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
Partager