{"id":243,"date":"2019-04-14T20:49:20","date_gmt":"2019-04-14T18:49:20","guid":{"rendered":"http:\/\/technical-publishing.de\/?page_id=243"},"modified":"2025-06-06T21:56:40","modified_gmt":"2025-06-06T19:56:40","slug":"rueckgabewerte-und-fehlercodes","status":"publish","type":"page","link":"https:\/\/technical-publishing.de\/?page_id=243","title":{"rendered":"R\u00fcckgabewerte und Fehlercodes"},"content":{"rendered":"<div class=\"tutorialbody\">\n<hr>\n<p>Der Nextion sendet seine Daten selbst\u00e4ndig oder auf Anforderung an den Host-Controller. Dabei ist es wichtig zu wissen, wie die Datenstrukturen (Protokolle) aufgebaut sind. Wir haben schon mehrfach gelesen, dass eine Daten\u00fcbertragung vom und zum Nextion z. B. sehr h\u00e4ufig mit der Terminierung &#8222;0xff 0xff 0xff&#8220; beendet wird. Aber das ist nicht immer der Fall und es gibt noch weitere Festlegungen, die wir kennen m\u00fcssen.<\/p>\n<p>Eine spezielle Protokollfestlegung sind auch die sogenannten &#8222;Fehlercodes&#8220;. Diese Funktionalit\u00e4t ist bei einer Kommunikation von gro\u00dfem Interesse, denn Sie k\u00f6nnen damit in gewisser Weise feststellen, ob Ihre Kommandos auch richtig angekommen bzw. verarbeitet worden sind. Es handelt sich dabei nicht um Nutzdaten, sondern lediglich um Informationen \u00fcber den Erfolg oder Misserfolg bestimmter Aktionen.<\/p>\n<p>Ob und in welcher Form Sie R\u00fcckgaben vom Nextion erhalten, bestimmen Sie \u00fcber die <a href=\"https:\/\/www.boecker-systemelektronik.de\/epages\/63381271.sf\/de_DE\/?ObjectPath=\/Shops\/63381271\/Categories\/Tutorials\/Nextion_Tutorials\/%22Interne%20Systemvariablen%22#bkcmd\" data-link-type=\"tree\" data-type=\"linkpicker\">bkcmd<\/a>-Systemvariable.<\/p>\n<h3>R\u00fcckgabeformate<\/h3>\n<p>Die folgende Beschreibung ist wie folgt aufgebaut:<\/p>\n<ul>\n<li>Unter Bedeutung finden Sie das Ereignis, das die Datenr\u00fcckgabe ausgel\u00f6st hat<\/li>\n<li>cid = ID der ausl\u00f6senden Komponente<\/li>\n<li>pid = ID der Seite, auf der sich die Komponente befindet<\/li>\n<li>d0&#8230;dx = Die Nutzdaten (z. B. x0, y0 f\u00fcr die Koordinaten)<\/li>\n<li>evt = Informationen \u00fcber das Event (1= press, 0 = release)<\/li>\n<li>end = Terminierung = 0xff 0xff 0xff<\/li>\n<\/ul>\n<table width=\"100%\">\n<tbody>\n<tr>\n<th width=\"10%\">1. Byte<\/th>\n<th width=\"10%\">Bezeichnung<\/th>\n<th width=\"15%\">Format<\/th>\n<th width=\"65%\">Beispiele<\/th>\n<\/tr>\n<tr>\n<td>0x65<\/td>\n<td>Touch-Event<\/td>\n<td>0x65+pid+cid+evt+end<\/td>\n<td><em>0x65 0x01 0x02 0x01 0xff 0xff 0xff<\/em><br \/>\nDie Komponente &#8222;id=2&#8220; auf der Seite 1 hat ein Touch-Press-Event ausgl\u00f6st<\/td>\n<\/tr>\n<tr>\n<td>0x66<\/td>\n<td>Seiten-ID<\/td>\n<td>0x66+pid+end<\/td>\n<td><em>0x66 0x01 0xff 0xff 0xff<\/em><br \/>\nNach Senden des Befehls <a href=\"https:\/\/www.boecker-systemelektronik.de\/epages\/63381271.sf\/de_DE\/?ObjectPath=\/Shops\/63381271\/Categories\/Tutorials\/Nextion_Tutorials\/Systembefehle#sendme\" data-link-type=\"tree\" data-type=\"linkpicker\">sendme<\/a> erfolgt die R\u00fcckgabe der Seiten-ID (hier Seite 1)<\/td>\n<\/tr>\n<tr>\n<td>0x67<\/td>\n<td>Koordinaten<\/td>\n<td>0x67+x2+x1+y2+y1+evt+end<\/td>\n<td><em>0x67 0x01 0x30 0x00 0x1e 0x01 0xff 0xff 0xff<\/em><br \/>\nAuf der Koordinate x=304 (hexadezimal &#8222;130&#8220;) und y=30 (hexadezimal &#8222;1e&#8220;) wurde der Bildschirm ber\u00fchrt. Die Ausgabe erfolgt nur wenn der Inhalt von <a href=\"https:\/\/www.boecker-systemelektronik.de\/epages\/63381271.sf\/de_DE\/?ObjectPath=\/Shops\/63381271\/Categories\/Tutorials\/Nextion_Tutorials\/%22Interne%20Systemvariablen%22#sendxy\" data-link-type=\"tree\" data-type=\"linkpicker\">sendxy<\/a> 1 ist.<\/td>\n<\/tr>\n<tr>\n<td>0x68<\/td>\n<td>Touch-Event im Sleep-Modus<\/td>\n<td>0x68+x2+x1+y2+y1+evt+end<\/td>\n<td><em>0x67 0x01 0x30 0x00 0x1e 0x01 0xff 0xff 0xff<\/em><br \/>\nAuf der Koordinate x=304 (hexadezimal &#8222;130&#8220;) und y=30 (hexadezimal &#8222;1e&#8220;) wurde im Sleep-Modus der Bildschirm ber\u00fchrt. Die Ausgabe erfolgt unabh\u00e4ngig vom Zustand von <a href=\"https:\/\/www.boecker-systemelektronik.de\/epages\/63381271.sf\/de_DE\/?ObjectPath=\/Shops\/63381271\/Categories\/Tutorials\/Nextion_Tutorials\/%22Interne%20Systemvariablen%22#sendxy\" data-link-type=\"tree\" data-type=\"linkpicker\">sendxy<\/a>. Da im Sleep-Modus keine Elemente sichtbar sind, w\u00e4re eine Auswertung der einzelnen Touch-Aktionen f\u00fcr die Objekte sinnlos. Deshalb werden generell nur die Koordinaten zur\u00fcckgegeben.<\/td>\n<\/tr>\n<tr>\n<td>0x70<\/td>\n<td>R\u00fcckgabe eines Strings<\/td>\n<td>0x70+d0+d1+d2+&#8230;+dn+end<\/td>\n<td><em>0x70 0x74 0x65 0x73 0x74 0xff 0xff 0xff<\/em><br \/>\nEs wurde der String &#8222;test&#8220; \u00fcbergeben.<\/td>\n<\/tr>\n<tr>\n<td>0x71<\/td>\n<td>R\u00fcckgabe einer 4-Byte-Zahl<\/td>\n<td>0x71+d0+d1+d2+d3+end<\/td>\n<td><em>0x71 0x44 0x01 0x00 0x00 0xff 0xff 0xff<\/em><br \/>\nEs wurde die Zahl 324 \u00fcbertragen 0144(hex)<\/td>\n<\/tr>\n<tr>\n<td>0x86<\/td>\n<td>Auto-Sleep-Modus<\/td>\n<td>0x86+end<\/td>\n<td><em>0x86 0xff 0xff 0xff<\/em><br \/>\nEs wurde automatisch in den Sleep-Modus gewechselt.<\/td>\n<\/tr>\n<tr>\n<td>0x87<\/td>\n<td>Auto-Wakeup<\/td>\n<td>0x87+end<\/td>\n<td><em>0x87 0xff 0xff 0xff<\/em><br \/>\nIm Display wurde automatisch ein Wakeup ausgel\u00f6st.<\/td>\n<\/tr>\n<tr>\n<td>0x88<\/td>\n<td>Erfolgreicher Systemstart<\/td>\n<td>0x88+end<\/td>\n<td><em>0x88 0xff 0xff 0xff<\/em><br \/>\nDas System wurde erfoglreich gestartet.<\/td>\n<\/tr>\n<tr>\n<td>0x89<\/td>\n<td>Start von SD-Karte<\/td>\n<td>0x89+end<\/td>\n<td><em>0x89 0xff 0xff 0xff<\/em><br \/>\nEs wurde eine SD-Karte erkannt und die Firmware darauf ins Nextion-Device \u00fcbertragen.<\/td>\n<\/tr>\n<tr>\n<td>0xfe<\/td>\n<td>Transparent Modus<\/td>\n<td>0xfe+end<\/td>\n<td><em>0xfe 0xff 0xff 0xff<\/em><br \/>\nMomentan gibt es zwei Befehle <a href=\"https:\/\/www.boecker-systemelektronik.de\/epages\/63381271.sf\/de_DE\/?ObjectPath=\/Shops\/63381271\/Categories\/Tutorials\/Nextion_Tutorials\/Komponentenbefehle#addt\" data-link-type=\"tree\" data-type=\"linkpicker\">addt<\/a> und <a href=\"https:\/\/www.boecker-systemelektronik.de\/epages\/63381271.sf\/de_DE\/?ObjectPath=\/Shops\/63381271\/Categories\/Tutorials\/Nextion_Tutorials\/Datenbefehle#wept\" data-link-type=\"tree\" data-type=\"linkpicker\">wept<\/a>, bei denen nach der Ausf\u00fchrung der transparente Modus erreicht wird. Dabei wird zuvor eine Anzahl von Bytes festgelegt, die dann nacheinander \u00fcbertragen werden k\u00f6nnen. Diese Kommandos sind vor allem f\u00fcr gr\u00f6\u00dfere Datenmengen geeignet.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3 id=\"errorcodes\">Fehlercodes<\/h3>\n<p>\u00dcber die einzelnen Fehlercodes k\u00f6nnen Sie sehr schnell eingrenzen, wo ein Problem liegt. Im Gegensatz zu den R\u00fcckgabewerten gibt es hier keine weiteren Parameter, sondern immer nur das Fehler-Byte gefolgt von der Endterminierung. Deshalb werde ich mir hier das Format und Beispiele sparen.<\/p>\n<table width=\"100%\">\n<tbody>\n<tr>\n<th width=\"20%\">Fehlercode<\/th>\n<th width=\"80%\">Beschreibung<\/th>\n<\/tr>\n<tr>\n<td><b>0x00<\/b><\/td>\n<td>Es wurde kein g\u00fcltiger Befehl gesendet.<\/td>\n<\/tr>\n<tr>\n<td><em>0x01<\/em><\/td>\n<td>Der einzige Fehlercode \u00fcber den Sie sich freuen k\u00f6nnen. Er besagt: Befehl wurde erfolgreich ausgef\u00fchrt!<\/td>\n<\/tr>\n<tr>\n<td><b>0x03<\/b><\/td>\n<td>ung\u00fcltige ID f\u00fcr Seite<\/td>\n<\/tr>\n<tr>\n<td><b>0x04<\/b><\/td>\n<td>ung\u00fcltige ID f\u00fcr Bild<\/td>\n<\/tr>\n<tr>\n<td><b>0x05<\/b><\/td>\n<td>ung\u00fcltige ID f\u00fcr Zeichensatz<\/td>\n<\/tr>\n<tr>\n<td><b>0x11<\/b><\/td>\n<td>ung\u00fcltiger Wert f\u00fcr Baudrate<\/td>\n<\/tr>\n<tr>\n<td><b>0x12<\/b><\/td>\n<td>ung\u00fcltige Kanal-Nr. bei einer Waveform-Komponente<\/td>\n<\/tr>\n<tr>\n<td><b>0x1A<\/b><\/td>\n<td>ung\u00fcltiger Variablenname oder unbekannte Eigenschaft einer Komponente<\/td>\n<\/tr>\n<tr>\n<td><b>0x1B<\/b><\/td>\n<td>ung\u00fcltige Zuweisung f\u00fcr eine Variable (z. B. <code>progressbar.val=\"text\"<\/code> oder <code>text.txt=10<\/code>)<\/td>\n<\/tr>\n<tr>\n<td><b>0x1C<\/b><\/td>\n<td>Zuweisung zur Eigenschaft nicht erfolgreich*<\/td>\n<\/tr>\n<tr>\n<td><b>0x1D<\/b><\/td>\n<td>Fehler beim Ausf\u00fchren der PERFROM-Operation*<\/td>\n<\/tr>\n<tr>\n<td><b>0x1E<\/b><\/td>\n<td>fehlerhafte Anzahl von Befehlsparametern<\/td>\n<\/tr>\n<tr>\n<td><b>0x1F<\/b><\/td>\n<td>fehlerhafte I\/O-Operation*<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>*Die Erl\u00e4uterungen dazu werde ich noch vertiefen, wenn mir weitere Informationen dazu vorliegen.<\/h4>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Der Nextion sendet seine Daten selbst\u00e4ndig oder auf Anforderung an den Host-Controller. Dabei ist es wichtig zu wissen, wie die Datenstrukturen (Protokolle) aufgebaut sind. Wir haben schon mehrfach gelesen, dass eine Daten\u00fcbertragung vom und zum Nextion z. B. sehr h\u00e4ufig mit der Terminierung &#8222;0xff 0xff 0xff&#8220; beendet wird. Aber das ist nicht immer der Fall&hellip;&nbsp;<a href=\"https:\/\/technical-publishing.de\/?page_id=243\" rel=\"bookmark\">Weiterlesen &raquo;<span class=\"screen-reader-text\">R\u00fcckgabewerte und Fehlercodes<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":113,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":70,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"class_list":["post-243","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/technical-publishing.de\/index.php?rest_route=\/wp\/v2\/pages\/243","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/technical-publishing.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/technical-publishing.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/technical-publishing.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/technical-publishing.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=243"}],"version-history":[{"count":1,"href":"https:\/\/technical-publishing.de\/index.php?rest_route=\/wp\/v2\/pages\/243\/revisions"}],"predecessor-version":[{"id":244,"href":"https:\/\/technical-publishing.de\/index.php?rest_route=\/wp\/v2\/pages\/243\/revisions\/244"}],"up":[{"embeddable":true,"href":"https:\/\/technical-publishing.de\/index.php?rest_route=\/wp\/v2\/pages\/113"}],"wp:attachment":[{"href":"https:\/\/technical-publishing.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}