Rätzelhafte Fehlermeldung

Hallo,

ich übersende mittels GUI eine Zeichenkette. Bei der Aufsplittung der Zeichenkette kommt folgende Fehlermeldung.

c:/program files/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr6/crtm2560.o: In function __vector_default': (.vectors+0xd8): relocation truncated to fit: R_AVR_13_PCREL against symbol __vector_54' defined in .text.__vector_54 section in core.a(HardwareSerial.cpp.o)

Kann mir da jemand weiterhelfen?

Danke

Schönen Gruß

Eddy

Nein, kann ich nicht, bin kein Hellseher.
Gib uns mal den gesamten Sketch und alle Fehlermeldungen.
Grüße Uwe

Und verrate auch noch gleich welche Version der IDE und welchen Compiler Version Du benutzt.

Gib uns mal den gesamten Sketch und alle Fehlermeldungen.

Oder für die Leute, die es lieber gleich sehen wollen, fang mit

void loop() {}
void setup() {}

an. Das sollte keinen Fehler geben.
Dann füge Stückchenweise nur dein "Aufsplittung der Zeichenkette" ein, bis der beschriebene Fehler auftaucht.
Dass die Zeichenkette von einer GUI kommt, soll erstmal egal sein, denke ich:
char Zeichenkette[]="Das ist der erwartete Text\n"; ist zum Fehler suchen einfacher.

Wenn du es nicht schaffst den Fehler direkt zu zeigen, ist dein Original-Sketch evtl. zu groß ?

@Udo: deine ist es nicht, das hat Eddy schon geschrieben:
Es ist höchstens:
Arduino\1.0.6\hardware\tools\avr\lib\gcc\avr*4.3.2*
Aber mit der waren bis gestern noch viele Leute einigermaßen zufrieden.

Hallo,

ich arbeite mit dem Arduino IDE 1.0.6. Es sind genau 400 Zeilen. An der vorletzten Stelle zickt der rum, wenn ich für die Variable einen Festwert eingeben dann läuft es.

Ich hoffe damit könnt ihr was anfangen.

Danke

if (bolUebermittlung_beendet) {
Serial.println(strUebermittlungstext);

intVerzStart = strUebermittlungstext.substring(0,5).toInt();

intTropfenlaenge = strUebermittlungstext.substring(5,9).toInt();

intPauseZwTropfen = strUebermittlungstext.substring(9,13).toInt();

intPauseZwBuchstaben = strUebermittlungstext.substring(13,17).toInt();

intVerzBlitz = strUebermittlungstext.substring(17,21).toInt();

intVerzKamera = strUebermittlungstext.substring(21,25).toInt();

intWiederholung = strUebermittlungstext.substring(25,28).toInt();

//intVerzWieder = strUebermittlungstext.substring(28,33).toInt();

strLaufschrift = strUebermittlungstext.substring(33);

Damit kann man immer noch nicht wirklich etwas anfangen.

" An der vorletzten Stelle zickt der rum, wenn ich für die Variable einen Festwert eingeben dann läuft es."

Wie sieht dann deine Variable aus?

Sieht sie so aus, ist das falsch und du solltest dir ggf. mal ein paar Basics anschauen.
xy(z).toint();

Nein, mit dem Text ab " if " in deinem Post kann man nicht viel anfangen.

Es sind genau 400 Zeilen

Das verstehe ich nicht. Ich sehe nur ein gutes Dutzend.
Ich rate mal, strUebermittlungstext ist ein String Objekt von ca 50 Zeichen Länge.
Daraus machst du neun kleinere String Objekte und wandelst 8 davon in Zahlen.

Wenn ich aus deinem Fragment einen übersetzbaren Sketch machen würde, sollte das auch laufen, denn
ganz so schlimm sind die String Objekte nicht mehr, aber...
Wenn die übrigen 390 Zeilen deines Sketch ähnlich sind, dürfte der Fall klar sein.

Das Wichtigste an Programmcode sind die Variablendefinitionen

EddyErdmann:
ich arbeite mit dem Arduino IDE 1.0.6. Es sind genau 400 Zeilen.

Also wenn es 400 Zeilen sind, könnte der Fehler in Zeile 42 sein.

Aber sonst fällt mir dazu auch nicht viel ein.