AtMega168 resettet sich nach ADCconfig -> Vector falsch?

#2186778
Lesenswert?

Hi da.

Benutze WinAVR und das AVR-Studio. Debug per Debugwire.

Habe gerade ein merkwürdiges Problem.
Mein AtMega168 resettet ca. bei Sei() vor der while(1) wenn ich in der 
ADCconfig() (1<<ADIE) gesetzt habe.
Danach bootet er nochmal neu usw...

Ich habe derzeit echt überhaupt keine Ahnung was das Teil gerade von mir 
möchte.
Habe testweise schon die ISR und die ADCconfig() von einem anderen 100% 
lauffähigem Projekt kopiert und eingepflanzt -> gleiches Ergebnis.

Was mich wundert ist, das in der iomx8.h als ADC Interrupthandle-Vector 
"_VECTOR(21)" steht.
Laut Datenblatt ist es aber der Vektor 22!?
Wird hier unterschiedlich gezählt? Einmal ab 0 - einmal ab 1?
Änderung bringt aber auch keine Verbesserung.
Selbst das auskommentieren der kompletten ISR nützt nichts.

Kann mir bitte jemand einen Tip geben wo ich noch suchen kann?

Hier noch die config:
1
void adc_config(void)
2
{
3
  ADCSRA |= (1<<ADEN) | (1<<ADSC) | (1<<ADATE) | (1<<ADIE) | (1<<ADPS1) | (1<<ADPS2) | (1<<ADPS0);  //ADC-Config
4

5
  ADMUX |= (1<<REFS0) | (1<<REFS1);                                  //VCC-Ref intern 1v1
6
}

Björn
#2186826
Lesenswert?

Hi g457.

Habe gerade den Handler implementiert und getestet.
...nu bin ich baff...
1) Sie wird nicht angesprungen
2) Nachdem ich sie wieder weg gemacht habe, ist der Fehler 
verschwunden!?

Was ist denn nun los - sowas mag ich ja gar nicht :(

Danke für den Tip erst einmal und witzig das hier unterschiedlich 
gezählt wird :)

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