Hallo Leute,
ich bastle seit einiger Zeit an einer Servoelektronik auf Basis eine ATtiny85.
Der Sketch besteht aus verschiedenen Funktionen, die alle einzeln getestet wurde und laufen.
Der komplette Sketch läßt aber nicht kompilieren, und zwar auf eine sehr seltsame Weise:
Der angehängte Sketch läßt sich kompilieren.
Aber in Zeile 184 in der Zeile "unsigned long Pulse = (Flanke2-Flanke1);" muß noch die Pulsdauer durch 64 geteilt werden, weil ich den Timer0 umgestellt habe um 32kHz PWM zu bekommen. Deshalb laufen alle Timer 64mal so schnell.
Sobald ich aber in Irgendeiner Form diesen Wert dividiere, bekomme ich die Fehlermeldung:
c:/temp/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr25/crttn85.o:(.init9+0x2): relocation truncated to fit: R_AVR_13_PCREL against symbol `exit' defined in .fini9 section in c:/temp/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr25\libgcc.a(_exit.o)
ich habe schon probiert:
unsigned long Pulse = (Flanke2-Flanke1)>>6;
unsigned long Pulse = (Flanke2-Flanke1)/64;
unsigned long Pulse = (Flanke2-Flanke1);
Pulse = Pulse >> 6;
Was ich sonst noch probiert habe: die ATtiny zip neu runtergeladen, die IDE neu installiert.
und viele andere Varianten. Ich habe auch schon versucht, an der Stelle, an der die Funktion aufgerufen wird, den Wert zu dividieren.
Es führt immer zum gleichen Ergebnis. Sobald ich das Signal irgendwo im Sketch anfassen, krieg ich diese Fehlermeldung!
Und wenn ich eine der anderen Funktionen rausnehme, dann kompiliert er auch fehlerfrei.
Was habe ich:
ATtiny85 mit UNO als ISP, ausgewähltes Board: ATTINY85 (internal 8MHz clock)
Das funktioniert ja auch alles. (wenn ich die Divison weglasse)
ATtiny anleitung so wie High-Low Tech – Programming an ATtiny w/ Arduino 1.6 (or 1.0) und auch von dort die verlinkte ATtiny MAster.ZIP.
IDE 1.0.5-r2
Im Anhang der Code der funktionert, der Code, der nicht funktioniert und das ausführliche Compilerlog.
Hat einer eine Idee?
ATtiny_Servoregler - geht.ino (6.35 KB)
ATtiny_Servoregler - mit Fehler.ino (6.35 KB)
ATtiny_Servoregler.ino.CompilerLog.txt (24.7 KB)