Forum: Compiler & IDEs ATmega64 und AVR-GCC: Compiler macht Murks


von Jochen F. (jamesy)


Angehängte Dateien:

Lesenswert?

Hallo,
ich bin gerade am Haare ausraufen. Seit mehreren Wochen komme ich mit 
einem Projekt mit ATmega64 nicht weiter. Ich habe das 
Atmelstudio7-Projekt als ZIP angehängt.
Im Grunde geht es bisher um einfaches Bit-Banging zum Initialisieren von 
D/A-Wandlern (seriell). Wie ich es auch anstelle, aus der Sub wr_voltdac 
kommt er nicht mehr zurück, sondern initialisiert nach einer Weile neu, 
der Zyklus geht von vorne los. Wie man sieht, habe ich jede Menge 
probiert, aber ich übersehe wohl etwas Grundlegendes. Es kann doch nicht 
sein, daß ich aus einer aufwärts zählenden FOR-Schleife die 24 Impulse 
des Clock bekomme und abwärts zählend eine Dauerkette, zum Beispiel. Die 
nicht veränderte Routine ist wr_sampdac, da kann man die ursprüngliche 
Idee ablesen. Im LSS-File taucht Code auf, der nie aufgerufen wird, aber 
welcher, der ausgeführt werden wird, taucht teilweise nicht auf.
Da extrem viele Personen mit AVR-GCC produktiv schaffen (ich ab und an 
seit 11 Jahren), kann es im Grunde nicht der Compiler sein. Aber wo 
biege ich falsch ab? Was übersehe ich?
Gruß, Jochen DH6FAZ

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Jochen F. schrieb:
> der Sub wr_voltdac kommt er nicht mehr zurück

http://nongnu.org/avr-libc/user-manual/FAQ.html#faq_fuses

(ATmega64 ist in jeglicher Hinsicht der kleine Bruder des ATmega128.)

von Jochen F. (jamesy)


Lesenswert?

Hallo Jörg,
vielen Dank. Also doch Anfängerfehler von mir!
Sonst habe ich eigentlich immer den ATMega 48 verwendet.
73 de DH6FAZ

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Jochen F. schrieb:
> Also doch Anfängerfehler von mir!

Naja, mittlerweile ist die M103C-Fuse eher ein Überbleibsel aus sehr
lange zurückliegender Zeit.  Insofern nicht unverständlich, dass man
bei einem ATmega64 da nicht gleich drauf kommt.

von Oliver S. (oliverso)


Lesenswert?

Wobei die Frage doch eher lauten sollte: Warum überhaupt noch ein 
Mega64?

Oliver

von Jochen F. (jamesy)


Lesenswert?

Was hätte ich nehmen sollen? Der läßt sich (noch) löten und hat 64K bzw 
im gleichen Gehäuse 128K Programmspeicher. Den IC hat mein Vorgänger auf 
der Position gewählt, ist 10 Jahre her.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Jochen F. schrieb:
> Der läßt sich (noch) löten und hat 64K bzw im gleichen Gehäuse 128K
> Programmspeicher.

ATmega1281 hat auch das gleiche Gehäuse und komplett kompatibles
Pinout, ist aber in mancher Hinsicht eine Runde moderner.

Ist aber egal, wenn der 64er es tut, als ATmega64A ist er nach wie
vor im Programm bei Microchip.

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.