... ... schrieb:
> So bekommst du eine Warnung wenn F_CPU schon irgendwo anders definiert
> ist z.B. im Makefile
>
> signal.h sollte man nicht mit interrupt.h mischen....
Die Warnung wirft der Compiler auch ohne das #define-Geraffel, und
signal.h stört sich auch nicht an interrupt.h. Trotzdem wäre es
natürlich gut, die ISR-Vektoren mal auf die aktuellen Namen zu ändern.
Das Programm dürfte in dieser Form mit einer eingermassen aktuellen
Version von avr-gcc auf einem Mega128und auf einem Mega16 nur ohne
Optimierung laufen. Wie schon gesagt wurde, fehlen da einige volatiles.
Die älteren gcc-Versionen ( < 2003 ???) waren da toleranter, und
signal.h lässt darauf schliessen, daß das alles schon älter ist.
Alle Variablen, die im Hauptprogramm UND in der ISR gelesen bzw.
geschrieben werden, brauchen den volatile-Qualifier.
Oliver