Hallo zusammen, ich hätte da mal eine grundlegende Frage. Gibt es einen besonderen Trick den gcc so zu konfigurieren, dass er für den Mega8 korrekt kompiliert? (AVR Studio 4 mit WINAvr). Wenn ich z.B. eine Variable definiere und diese hochzählen will, macht das der mC nicht. ... volatile unsigned int THIS_VAR; THIS_VAR++; ... Ich dachte schon, der mC wäre hin, aber in Assembler funktioniert es problemlos. (Mit Bascom hab ich übrigens das gleiche Problem). Danke und Gruß Stefan
lad mal eine projekt-datei rauf. ich tippe auf falsche einstellungen...
zeig doch bitte mal den kompletten code... hab hier nen atmega48, der ist ähnlich und bei dem funktioniert es definitiv. auch hat es frühers bei meinen atmega8 auch immer funktioniert...
Einfach mal geraten: Bei C muss ich die Definition einer lokalen Variable ganz am Anfang eines Blocks/ einer Funktion stehen, also in der unmittelbar nächsten Zeile nach der letzten { ohne irgendwelchen anderen Sachen dazwischen.
Michael H. schrieb: > lad mal eine projekt-datei rauf. ich tippe auf falsche einstellungen... Johannes O. schrieb: > zeig doch bitte mal den kompletten code... Hi, habe das Makefile und den Code angehängt. Gruß Stefan
Und wie stellst du fest, dass die Variable nie hochgezählt wird? Hab deinen Code gerade in ein frisches C-Projekt im AVR-Studio kopiert, compiliert, Breakpoint auf den Inkrement und laufen gelassen. Der Breakpoint wird erreicht, 1 Single Step mit F10 und danach hat die Variable einen um 1 erhöhten Wert, so wie es sein soll. Compiliert mit -Os.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.