Forum: Mikrocontroller und Digitale Elektronik Kompilieren Atmel Studio 6 und AVR Studio 4 unterschiedlich?


von Volker M. (volkerm)


Lesenswert?

Hallo,

erstmal ein DANKE für diese tolle Webseite (ohne die ich mein Problem 
zwar nicht hätte, aber das ist eine andere Baustelle  :-) ).

Ich habe vor 3 oder 4 Jahren ein Programm mit AVR Studio 4 für den 
Atmega8515 geschrieben welches auch soweit gut funktionierte (Steuerung 
einer DSLR, u.a. ein LCD am Atmega), geschrieben in C.
Jetzt habe ich das Projekt neu belebt und habe die Steuerung neu 
aufgebaut mit einem Atmega32 und den alten Quelltext mit Atmel Studio 6 
kompiliert. Dabei ist mir aufgefallen daß das LCD zum teil wirre Zeichen 
anzeigt.
Ich vermute Timing-Probleme. Verwendet habe ich die Routinen aus den 
Tutorials hier auf der Webseite.
Wenn ich das selbe Projekt mit AVR Studio 4 erstelle und für den 
Atmega32 kompilier und flashe funktioniert alles wie gewohnt, auch das 
LCD.

Kann irgend jemand dieses Verhalten bestätigen oder hat eine Lösung???

Ich würde gerne mit AtmelStudio 6 weiterarbeiten.

Danke Volker

von Martin K. (maart)


Lesenswert?

Benutzt du zum Beispiel _delay_ms()?
Vermutlich hast du F_CPU nicht definiert. Beim alten Studio ging das 
fast automatisch, jetzt muss der Wert in den Project-Settings 
eingetragen werden.

von Volker M. (volkerm)


Lesenswert?

Hallo Martin,

die Taktfrequenz des Atmega habe ich mit

#define F_CPU 4000000UL

im Quelltext angegeben. Er meckert ja sonst auch beim kompilieren.

Volker

von fooo (Gast)


Lesenswert?

vor dem einbinden von der delay.h?
schon, oder?

von Martin K. (maart)


Angehängte Dateien:

Lesenswert?

Volker M. schrieb:
> die Taktfrequenz des Atmega habe ich mit
>
> #define F_CPU 4000000UL
>
> im Quelltext angegeben.

Kannst du direkt im Studio eintragen, dann kannst du diese Fehlerquelle 
schon mal ausschließen. (Siehe Bild, dort allerdings für 16MHz)

von Volker M. (volkerm)


Lesenswert?

Danke für die Tipps,

das "define" stand vor dem einbinden der delay.h, ich habe es jetzt 
gelöscht und den Takt im Fenster wie Martin gezeigt hat eingetragen.
Jetzt scheint es zu funktionieren.

Danke Volker

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
Noch kein Account? Hier anmelden.