ADC Interrupt wird nicht aufgerufen

Gast #1942648
Lesenswert?
• ▲
▼
Hallo,

habe ein Problem mit meiner Interrupt Routine. Wahrscheinlich mal wieder 
nur eine Kleinigkeit aber ich komme einfach nicht darauf.

Hier ein Ausschnitt:

void init_ADC(void)
{
//ADC

ADMUX   =  (1<<REFS0) |  (1<<ADLAR);           // interne 
Referenzspannung nutzen // linkes Datenregister
ADCSRA  =  (1<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);  // ADC Interrupt 
Flag enable // ADC Prescaler
ADCSRA  =  (1<<ADEN);                   // ADC Enable
ADCSRA  =  (1<<ADATE);                // Automatisches Convertieren bei 
steigender Flanke am gewähltem Eingang
ADCSRA  |=  (1<<ADSC);

//Data
gStatusPoti = Poti_1;
}
ISR(ADC_vect)
{
if (gStatusPoti == Poti_1)
  {
    ADMUX  &= ~(1<<MUX0);
    ADMUX  &= ~(1<<MUX1);
    ADMUX  &= ~(1<<MUX2);
    //ADCSRA  =  (1<<ADSC);      // Start Conversion
    gPoti[0] = ADCH;
    gStatusPoti = Poti_2;
  }
if (gStatusPoti == Poti_2)
  {
    ADMUX   =  (1<<MUX0);
    ADMUX  &= ~(1<<MUX1);
    ADMUX  &= ~(1<<MUX2);
    //ADCSRA  =  (1<<ADSC);      // Start Conversion
    gPoti[1] = ADCH;
    gStatusPoti = Poti_3;
  }
}

In meiner Main Funktion rufe ich erst die ADC_init Funktion auf und dann 
sollte er nach dem Starten des ADC in meine ISR hüpfen....macht er aber 
(laut Simulation) nicht. Habe aber keine Idee wie ich ihn dazu bringe.
Wäre Dankbar, wenn ihr euch mal den Quellcode anseht und evtl. einen 
Tipp für mich habt.

MFG Timm
Gast #1942670
Lesenswert?
• ▲
▼
>ADCSRA  =  (1<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);  // ADC Interrupt
>ADCSRA  =  (1<<ADEN);                   // ADC Enable

Das ist ungefähr so wie

ADCSRA  =  0
ADCSRA  =  1
ADCSRA  =  255

Welchen Wert hat ADCSRA am Ende?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.