mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC löst keinen Interrupt aus (ATMega 16)


Autor: Raphael F. (erdbewohner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich möchte in meinem Programm den ADC verwenden der dann den 
ADC-Interrupt auslöst. Nach dem das nicht funktionierte, habe ich ein 
kleines Testprogramm geschrieben, das nur den ADC-Interrup testet. Das 
programm beweist nun eindeutig: der ADC löst den Interrupt nicht aus. 
(die LED leuchtet nicht). Aber wieso? hat jemand einen Rat für mich??

Mein Programm:
#include <avr/io.h>
#include <avr/interrupt.h>

int main(void)
{
  DDRB = 0x1F;  //Portkonfigurationen
  DDRD = 0xF8;
  PORTC = 0xFC;
  PORTB |= (1<<0)|(1<<1)|(1<<4);
  
  ADMUX = (1<<REFS0)|(1<<ADLAR)|(1<<MUX2)|(1<<MUX0);                          //Analog-Digitalwandler-Konfigurationen
  ADCSRA = (1<<ADEN)|(1<<ADSC)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
  
  sei();        //Interrupts erlaubt
}
ISR(ADC_vect)
{
  PORTD |= (1<<6);
}
Vielen Dank für jegliche Hilfe!
Gruss Erdbewohner

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil dein Programm endet, noch ehe irgendwer eine Chance hat einen 
Interrupt auszulösen

(weiter hab ich dann nicht mehr geschaut)

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
while(1);

Autor: Raphael F. (erdbewohner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ah, ok. vielen Dank!
Ich dachte, dass der C-Compiler (Win-AVR) am ende selbständig eine 
endlosschlaufe einfügt. Aber wenn ich es manuell mache geht es!
Danke!
Erdbewohner

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Raphael F. schrieb:
> ah, ok. vielen Dank!
> Ich dachte, dass der C-Compiler (Win-AVR) am ende selbständig eine
> endlosschlaufe einfügt.

Tut er auch.
Nur friert er zusätzlich alles ein, damit der µC nichts anstellt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.