Atmega1280: ADC-Interrupt-Vector wird nicht aufgerufen

Gast #2197377
Lesenswert?

Hallo,

ich mache gerade erste Versuche mit dem Atmega1280 (versorgt mit 5V bei 
16MHz) und bin trotz Beachtung aller Spezifikationsvorgaben beim Thema 
ADC-Messung auf ein Problem gestossen:
Der Interrupt-Vector wird nicht aufgerufen, obwohl ich die ADC-Zelle, 
den ADC-Interrupt, den globalen Interrupt sowie das ADSC-Flag vor jeder 
Messung aktiviert habe, dies sind die Register-Werte:

DIDR0 = 0xFF ;    -> digital inputs disabled
DIDR2 = 0xFF ;    -> digital inputs disabled
ADCSRA = 0x8F;    -> ADEN, ADIE, prescaler 128, ADSC set at conversion 
start
ADCSRB = 0;
ADMUX = 0 ;       -> AREF used

Habe ich etwas in der Spezifikation übersehen ?
Es wäre sehr hilfreich, wenn mir jemand einen Hinweis für die Lösung 
dieses Problems geben könnte.
Gast #2477302
Lesenswert?

Als Fehlerursache stellte sich ein fehlerhaftes RAM-Mapping heraus. Das 
benutzte Applikations-RAM wurde in die Extended-Register-Sektion 
allokiert.
Dies kann durch folgende Linker-Optionen behoben werden:
-Wl,-Map=$(TARGET).map -Wl,-Tdata,0x800200 -o $@ $(OBJS).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren