closed

Loginbox

Please enter your username and password into the following fields to log in.


  • Username:
  • Password:
  •  
  • Auto log in on every visit.


  •  

Nextion Display

Datenkonvertierung

tbegle offline
Benutzer
Avatar
Gender: n/a
Location: n/a 
Age: 58
Posts: 17
Registered: 01 / 2018
Private message
Subject: Nextion Display  -  Posted: 04.02.2018 - 10:33   -  
Hallo liebe power user,

ich versuche seit 127,46 Stunden! die Herausforderung zu lösen - ohne Erfolg!
Kann mir wer auf die Sprünge helfen?
Im Übrigen die Nextion's eine Empfehlung, aber es sollte das enhanced sein 4,3" 43US$ in China ~40€! (viele LIB's)

NEXTION DISPLAY x.x" enhaced
nexti :byte;
{----------------------------------------------------------------------}
{ Const Declarations }
const
{-----------------------------------Steuerbefehle------------------}
ToBLE : Array[1..66] of Char =
('E','A','K','H','Z','r','S','1','2','3'
.................... );
{-----------------------------------------------------------------------}
Next : Array[1..66] of String[8]=
('040401','040301','040501','040801','040901',
................... ');
{-----------------------------------------------------------------------}
loop
if serstat = true then // Zeichen im Puffer
read(SerInp,nexti); // Nextion
65 00 06 01 ff ff ff e...ÿÿÿ // 65 & ff ff ff benötige ich nicht!
(e[00][06][01]ÿÿÿ)
// **********************************************************************
6 Zeichen xxxxxx isolieren mit Next Array vergleichen und über ToBLE Array
Steuerzeichen senden!
// **********************************************************************
For i ;= 1 to 66 do
if xxxxxxx = Next[i]; then Write(serout,ToBLE); endif;
endfor;
endif;
endloop;
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 53
Posts: 1360
Registered: 03 / 2003
Private message
Subject: Re: Nextion Display  -  Posted: 04.02.2018 - 10:51   -  
Hi tbegle,

ich habe momentan das Problem, daß ich nicht weiß, was du überhaupt machen willst. Mal abgesehen davon, daß das oben so sicher nicht compilierbar ist, wieso willst du vom Display lesen?
Die Einstellungen der seriellen (im define) wäre in diesem Zusammenhang auch nicht schlecht ;).

Gruss
Harry

.... btw man kann Quellcode so einpacken, daß er hier lesebarer ist. Schau mal oben beim Verfassen eines Posts den Button für "code" an (im erweiterten Editor).
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
This post has been edited 1-times. Last edit: 04.02.2018 - 10:53 by Harry.
go down go up
tbegle offline
Benutzer
Avatar
Gender: n/a
Location: n/a 
Age: 58
Posts: 17
Registered: 01 / 2018
Private message
Subject: Re: Nextion Display  -  Posted: 06.02.2018 - 00:19   -  
Hallo Harry,
ich möchte nur die 3 Werte von den 7 die von der RS232 kommen extrahieren und mit den Daten im Next Array vergleichen,
um über eine Laufvariable meine Steuerzeichen aus dem ToBLE Array(Befehle) auszugeben

Gruß
Toni

PS
Ihr Power User solltet euch x die Nextion's zu Brust nehmen - TOUCH Display! - Grafik in kürzester Zeit vom Feinsten! - ab 20€!
Ein Treiber in elab-pascal wäre ...............
go down go up
TheBeginner offline
Benutzer
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 61
Posts: 417
Registered: 06 / 2013
Private message
Subject: Re: Nextion Display  -  Posted: 06.02.2018 - 06:55   -  
Guten morgen,
ich arbeite selber mit einem Nextion Display,

Ähhm...Treiber wofür ?
Sorry aber dafür braucht man keine Treiber.


Gruß Frank
------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
go down go up
miparo offline
Schreiberling
Avatar
Gender: male
Location: GERMANY  Germany
Age: 52
Posts: 639
Registered: 09 / 2007
Private message
Subject: Re: Nextion Display  -  Posted: 06.02.2018 - 10:47   -  
Hi Toni,
Quote
ich versuche seit 127,46 Stunden! die Herausforderung zu lösen

Warst du zwischenzeitlich im Urlaub ?

Also wenn du selbst ein serielles Dispaly nicht zum laufen bekommst, da könnte dir auch kein E-Lab Treiber helfen.

Quote

Code

  For i ;= 1 to 66 do
    if xxxxxxx = Next[i]; then 
      Write(serout,ToBLE); 
    endif;
   endfor; 




Was soll das Display damit anfangen ?
Manual gelesen und mal die geheimnisvollen $ff $ff $ff drei Bytes am Ende eines Kommandos beachtet ?

Und das alles nichts mit "Power User" zun tun sondern mit lesen, lesen .. üben .. stolpern und noch einmal ..
Das ist das 1x1 des Programmierers.

miparo
Kein Support per PN! | No support via PM!
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 53
Posts: 1360
Registered: 03 / 2003
Private message
Subject: Re: Nextion Display  -  Posted: 07.02.2018 - 08:19   -  
Jetzt seid doch ned so negativ belehrend ;) :) :D
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
go down go up
Merlin online
Schreiberling
Avatar
Gender: male
Location: UNITED KINGDOM 
Age:
Posts: 819
Registered: 03 / 2005
Private message
Subject: Re: Nextion Display  -  Posted: 07.02.2018 - 11:06   -  
The 'Next' array elements contain 6 characters per element. You appear to be comparing with three characters (if I understand). This will always fail. Are you simply forgetting to convert to hex?
Merlin.

:magic:

Software is a black art.
go down go up
tbegle offline
Benutzer
Avatar
Gender: n/a
Location: n/a 
Age: 58
Posts: 17
Registered: 01 / 2018
Private message
Subject: Re: Nextion Display  -  Posted: 07.02.2018 - 14:18   -  
HI,

danke, so weit war ich natürlich schon!
Dann muss ich halt in das 1. Array den kompletten CODE(65 .... ff ff ff) eingeben, obwohl ich nur 6 Zeichen (für mich) relavant sind
danach den Steuercode im 2. Array ...->

aber danke nochmals

Gruss
Toni

PS
Lieber Einstein für die primitiv uralt Display 16..20x1..4 gibt es Zahlreiche Beispiele im elab - Nextions(nicht nur mit Grafikoberfläche zu editieren!)
go down go up
miparo offline
Schreiberling
Avatar
Gender: male
Location: GERMANY  Germany
Age: 52
Posts: 639
Registered: 09 / 2007
Private message
Subject: Re: Nextion Display  -  Posted: 07.02.2018 - 15:57   -  
Wo ist denn jetzt der Haken wenn du es weißt , das die Steuerbefehle dazu gehören ?
Wie soll das Display deine "nur" Bytes interpretieren ?
Kein Support per PN! | No support via PM!
go down go up
tbegle offline
Benutzer
Avatar
Gender: n/a
Location: n/a 
Age: 58
Posts: 17
Registered: 01 / 2018
Private message
Subject: Re: Nextion Display  -  Posted: 08.02.2018 - 08:34   -  
Hallo,

der Vergleich mit meinem Array will nicht klappen - es sollte 'A' oder 'E' rauskommen

NEXTION DISPLAY 3,5" enhaced
const
ToBLE : Array[1..66] of Char =
('E','A',.......................

Next : Array[1..66] of String[4]=
('e051','e061',...............
{-----------------------------------------------------------------------}
var
{ Var Declarations }
{$IDATA}
count,len1,len2,len3 : byte;
nexti : string[7];
// ***************************************************************************
begin
EnableInts; // Interrupt zulassen
// -----------------------------------------------------------------
loop
read(SerInp,nexti);
len1 := length(nexti);
7-e[00][06][01]ÿÿÿ // 7 Zeichen Nextion Ausgabe
7-e[00][05][01]ÿÿÿ // .......................
// writeln(serout,char(13)+char(10)+bytetostr(len1)+'-'+nexti);
nexti := copy(nexti,1,4); // auf 4 Zeichen eingedampft
len2 := length(nexti);
4-e[00][06][01] - 4-e061 // 4/4 Zeichen Vergleich
4-e[00][06][01] - 4-e051

4-e[00][05][01] - 4-e061 // 4/4 Zeichen Vergleich
4-e[00][05][01] - 4-e051

for count := 1 to 2 do
len3 := length(Next[count]);
writeln(serout,bytetostr(len2)+'-'+nexti +' - '+bytetostr(len3)+'-'+next[count]);

// ---------------- gibt weder A noch E aus! --------------------
if nexti = next[count] then // ????
write(serout,char(13)+char(10)+'*'+ToBLE[count]+'*');
endif;
endfor;
endloop;
go down go up
Merlin online
Schreiberling
Avatar
Gender: male
Location: UNITED KINGDOM 
Age:
Posts: 819
Registered: 03 / 2005
Private message
Subject: Re: Nextion Display  -  Posted: 08.02.2018 - 10:16   -  
e061 <> e[00][06][01]

e061 = e[30][36][31]
Merlin.

:magic:

Software is a black art.
go down go up
miparo offline
Schreiberling
Avatar
Gender: male
Location: GERMANY  Germany
Age: 52
Posts: 639
Registered: 09 / 2007
Private message
Subject: Re: Nextion Display  -  Posted: 08.02.2018 - 11:05   -  
Es fehlt doch der Name des Objekts was die Daten anzeigen soll im Serout ?

Wenn du ein Edit auf dem Display liegen hast mit dem Namen t0. dann musst du dem Txt Property deinen neuen Text zuweisen:

Code

  Writeln(Serout,"t0.txt="+chr(ToBLE[1])+chr(ToBLE[2])....);
  Writeln(Serout,255);  // CMD Ende  
  Writeln(Serout,255); 
  Writeln(Serout,255);


So ähnlich muss das aussehen.
Kein Support per PN! | No support via PM!
go down go up
tbegle offline
Benutzer
Avatar
Gender: n/a
Location: n/a 
Age: 58
Posts: 17
Registered: 01 / 2018
Private message
Subject: Re: Nextion Display  -  Posted: 08.02.2018 - 17:39   -  
HI,
das ToBLE ist mein Code über Bluetooth Master an Slave meine Küchenlampe! hat mit Nextion nichts zu tun
Es geht um den if Vergleich der nicht klappen will
Gruss
Toni

NEXTION DISPLAY 3,5" enhaced
const
ToBLE : Array[1..66] of Char =
('E','A',.......................

Next : Array[1..66] of String[4]=
('e[00][06][01]','e[00][05][01]',..........'65000601'.....
{-----------------------------------------------------------------------}
var
{ Var Declarations }
{$IDATA}
count,len1,len2,len3 : byte;
nexti : string[7];
// -----------------------------------------------------------------------
begin
EnableInts; // Interrupt zulassen
// -----------------------------------------------------------------
loop
read(SerInp,nexti);
nexti := copy(nexti,1,4);
write(serout,nexti + ' = ' + next[1]);
e[00][06][01] = e[00][06][01] // ok! hatte ich gedacht! aber in hex!

65 00 06 01 3d 65 5b 30 30 5d 5b 30 36 5d 5b 30 e...=e[00][06][0
31 5d

Die ersten 4 Zeichen passen, aber danach? entweder spinnt mein Term Programm oder
ich schön langsam!

for count := 1 to 2 do
if nexti = next[count] then // ????
write(serout,ToBLE[count]); // A od E
endif;
endfor;
endloop;
This post has been edited 1-times. Last edit: 08.02.2018 - 18:51 by tbegle.
go down go up
miparo offline
Schreiberling
Avatar
Gender: male
Location: GERMANY  Germany
Age: 52
Posts: 639
Registered: 09 / 2007
Private message
Subject: Re: Nextion Display  -  Posted: 08.02.2018 - 19:28   -  
Es sah aber danach aus, da SerOut immer gleich ist.

Versuche doch bitte einmal diesen Code Button zu benutzen damit wir überhaupt was lesen können.
You must be logged in or your permissions are to low to see this Attachment(s).
Kein Support per PN! | No support via PM!
go down go up
tbegle offline
Benutzer
Avatar
Gender: n/a
Location: n/a 
Age: 58
Posts: 17
Registered: 01 / 2018
Private message
Subject: Re: Nextion Display  -  Posted: 10.02.2018 - 18:51   -  
[code][i][code]NEXTION DISPLAY 3,5" enhaced
const
ToBLE : Array[1..66] of Char =
('E','A',.......................

Next : Array[1..66] of String[4]=
('e[00][06][01]','e[00][05][01]',..........'65000601'.....
{-----------------------------------------------------------------------}
var
{ Var Declarations }
{$IDATA}
count,len1,len2,len3 : byte;
nexti : string[7];
// -----------------------------------------------------------------------
begin
EnableInts; // Interrupt zulassen
// -----------------------------------------------------------------
loop
read(SerInp,nexti);
nexti := copy(nexti,1,4);
write(serout,nexti + ' = ' + next[1]);
e[00][06][01] = e[00][06][01] // ok! hatte ich gedacht! aber in hex!

65 00 06 01 3d 65 5b 30 30 5d 5b 30 36 5d 5b 30 e...=e[00][06][0
31 5d

Die ersten 4 Zeichen passen, aber danach? entweder spinnt mein Term Programm oder
ich schön langsam!

for count := 1 to 2 do
if nexti = next[count] then // ????
write(serout,ToBLE[count]); // A od E
endif;
endfor;
endloop;[/code]
go down go up
 


Registered users in this topic
Currently no registered users in this section

Delete cookies of this forum  •  FAQ / Help  •  Team page  •  Imprint   |  Local time: 20.08.2018 - 12:26