Kodierungsfehler schnell beheben

Hallo zusammen,

der heutige Blogbeitrag stammt wieder einmal von unserem technischen Support-Team. Anlass ist die Mitteilung mehrer Kunden, die beim kompilieren in der ArduinoIDE den Fehler "error: stray '/302'" oder"error: stray '\240' in program" zu erhalten, außerdem möchte ich ein für Einsteiger interessantes Feature in Notepad++ vorstellen . 

Dieser Fehler tritt auf u.a. auf, wenn der kopierte Sketch mit der falschen Kodierung in die Arduino IDE geladen wird. Für Informatiker gehören diese Probleme "zum täglich Brot" und werden schon ganz am Anfang der Ausbildung geklärt, als reiner Anwender hat man mit der Kodierung von Dateien sehr wenige Kontaktpunkte.

Da die Kodierung von Zeichen ist ein recht umfangreiches Thema darstellt möchte ich heute nur zeigen, wie man die Fehler aus der ArduinoIDE bekommt, damit der (kopierte) Sketch durchläuft. 

 

Starten wir also mit der ArduinoIDE indem wir den Code kopieren, kompilieren und die oben gezeigte Fehlermeldung erhalten.

In der ArduinoIDE gibt es im Menü Werkzeuge die Möglichkeit eine automatische Korrektur auszuführen, diese finden Sie hier:

Nach der Ausführung dieses Menüpunktes sehen wir schon einen Teil des Problems:

Der Versuch einfach die Zeichen mit Strg+F zu suchen und mit nichts zu ersetzten löscht zwar die "Sonderzeichen", führt aber dennoch nicht zum Erfolg.

Wir benutzen heute Nodepad++ um den Quelltext auszumisten und die Kodierung zu ändern. Notepad++ ist ein recht einfaches und effizientes Programm, welches zum kostenlosen Download verfügbar ist. Meiner Meinung nach ein sehr guter und umfangreicher Texteditor der einfach in der Bedienung, und komfortabel in der Anwendung ist.

Nach dem Download und der Installation können wir direkt mit STRG+V zuvor kopierten Code einfügen:

Im Menü haben wir zwar die Option die Kodierung zu konvertieren, nach ein paar Versuchen stellen wir jedoch auch damit Probleme fest und kommen dadurch schnell auf die Fehlerbehebung. Zuerst stellen wir sicher, dass UTF-8 ausgewählt ist, wie hier im Bild:

Dann ändern wir die Auswahl auf "ANSI":

Mit der Funktion "Suchen und Ersetzen" können wir diese Zeichen recht schnell entfernen, bitte beachten Sie, das Leerzeichen jeweils vor und nach dem "Sonderzeichen" mitzukopieren:

Würden wir jedoch den Code jetzt kopieren würde der Fehler wieder in der IDE auftauchen. Um dies zu verhindern stellen wir die Kodierung um Menü wieder zurück auf UTF-8 und sehen:

Um diese Zeichen auch noch zu entfernen nutzen wir ein tolles Feature von Nodepad++: Die Blockauswahl. Ziehen Sie hierzu mit gedrückter ALT-Taste einen Ramen um die zu entfernenden Zeichen:

Die so markierten Blöcke können so recht einfach gelöscht werden:

Ein unverzichtbares Werkzeug für Einsteiger, um Beispielsweise Log-Dateien effizient zu bearbeiten, oder um Textdateien ohne Excel- oder Skript-Kenntnisse besser handhaben zu können.

Haben Sie alle Blöcke entfernt können Sie den so aufbereiteten Code zurück in die ArduinoIDE kopieren.

Jetzt noch eine kleine Schönheitskorrektur, die automatische Formatierung:

Hier das Ergebnis:

Somit sind wir am Ende des heutigen Artikels angekommen, und freue mich auf den nächsten Beitrag :) Bis dann

 

/240/302ArduinoBlockauswahlError 240Error 302Fehler beim kompilierenIdeNotepad++Stray

9 Kommentare

hobra

hobra

Interessanter Artikel. Aber was macht ein Macianer? Bei dem läuft notepad++ nicht, und der hat deutlich häufiger Probleme.

gah

gah

Es steht sowieso jedem frei, SEINEN Editor zu verwenden.
Editoren waren auch schon vor über 40 Jahren ein Glaubenskrieg.
Müßig, sich darüber aufzuregen.
Ich bin mit Notepad++ sehr zufrieden, nutze aber auch andere, von vi bis SPF
Das Block-Feature via ALT – Taste kannte ich nicht, (man liest ja nicht immer alles)
aber für diesen Tip bin i sehr dankbar.
Beim Kopieren von snippets stehen vorneweg schon gerne mal Zeilennummern.
Dafür bin ich bisher immer in SPF gewechselt, um diese bequem zu löschen.
DAS KANN ICH MIR JETZT SPAREN.
thx!
gah

DC8SE

DC8SE

Hallo,
ich finde die Anleitung ganz toll!!!! Das nit dem Notepad++ sehr gut!!! Werde mir das Programm runter laden.
Ansonsten arbeite ich mit BASCOM
73
DC8SE

Gunther Jordan

Gunther Jordan

Wenn man weiß, welche Zeichen ersetzt werden, kann man das doch ganz einfach über sed machen. Dazu braucht man keinen ‘besonderen’ Texteditor und keine aufwendigen hin- und hercodierungen…
Bei Linux ist der sed immer dabei, und für Windoof gibt es Cygwin mit allen Unix-Tools.

Erich Kirch

Erich Kirch

Ich finde es ganz in Ordnung und hilfreich in dem Beitrag auch mal gezeigt wird, wie man mit Fehlern umgeht und diese beheben kann, denn das genau passiert ‘uns’ Hobbyprogrammierern ja ständig. Und ganz ehrlich, wer hat sich nicht schon mal geärgert, weil ein C&P Code auf Anhieb nicht funktioniert hat.
Die Intention einen bestimmten Editor ‘an den Mann bringen zu wollen’ steht wohl nicht im Focus des Projekts. Ich finde den Ansatz ‘Hilfe zur Selbsthilfe’ sehr gut und freue mich auf weitere solche Beiträge.
Erich

Peter

Peter

Hallo
ich verwende zum kodieren den Notepad++ Editor.
Gruss Peter

Stefan Ludwig

Stefan Ludwig

Noch etwas,

gerade für Neulinge wäre es gut in jeden Quellcode noch etwas einzubauen
was OHNE Delay ein blinken der blauen Onboard-LED macht damit man schon daran sieht das der Code läuft.

Und einen Debug-Schalter der zusätzliche Sachen auf der seriellen Schnittstelle ausgibt damit man sieht welche Codeteile durchlaufen wurden und welche nicht.

mit freundlichen Grüßen

Stefan Ludwig

Stefan Ludwig

Stefan Ludwig

Wenn ich mir mal eine Anmerkung erlauben darf,

das ist aber eine echt merkwürdige Art Kunden dazu zu bringen einen bestimmten Texteditor zu benutzen. Diese kopiere Quellcode -Funktion gibt es auf ganz vielen Internetseiten. Ich habe die nicht alle getestet aber ich gehe davon aus das das i.d.R. funkioniert. Ansonsten würde ich mir es als FIRMA die Microcontroller verkauft UND Support anbietet den Support so zu gestalten, das 10 DAUs das jeweilige Tutorial getestet haben und alle DAU-Fehler abgefangen werden. Das dauert natürlich länger als per C&P ein Tutorial rauszuhauen. Weniger aber dafür mit mehr Qualität ist meine Empfehlung
mit freundlichen Grüßen

Stefan Ludwig

Katsumoto Kawasaki

Katsumoto Kawasaki

Ich sehe bei mir nur dieses “seltsame A”…….und nicht dieses “xA0”..
Was mache ich falsch?

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert