Hallo allerseits,
ich habe mal eine kurze Frage an die GCC - Kenner:
Wenn ich z.B. in einem Programm schreibe:
Code:
PORTC = 0x01;
PORTC = 0x01;
PORTC = 0x01;
also eben mehrfach das gleiche, dann optimiert das der GCC auf nur einen Ausdruck, was ja prinzipiell auch sinnvoll ist.
Doch das darf bei mir nicht sein, weil sich dann die Ausführungszeit ändert.
Der Hintergrund ist folgender:
Ich experimentiere ein bisschen mit DDS - Funktionsgeneratoren per AVR, und ich habe ein kleines Programm (Computerprogramm) geschrieben, das mir die Tables(in Form von vielen "PORTC = ...") für verschiende Signalverläufge generiert. Der AVR mit dann mit einem veränderbaren Oszillator getaktet, somit kann man die Frequenz des Signals ändern.
Nun muss es aber so sein, dass er manchmal den gleichen Wert mehrfach ausgibt, wenn das Signal eine kleine Steigung hat (z.B. beim Sinus - Maximum), sonst verzerrt sich natürlich der Verlauf.
Deshalb die Frage: kann man das abstellen, bzw. wie könnte ich es sonst machen?
Ach ja: Im Makefile habe ich natürlich OPT = 0 eingestellt, aber das nützt anscheinend nichts.
Bascom ist da nicht schlau genug, dort funktionierts, aber ich würde halt gerne bei C bleiben.
Danke für eure Antworten!
Mfg Thegon
Lesezeichen