Forum: Mikrocontroller und Digitale Elektronik Wie starte ich den ADC (Interruptmodus)


von Ralf (Gast)


Lesenswert?

Hallo,

ich möchte zu bestimmten Zeitpunkten je EINE Messung mit dem ADC machen. 
Nach erfolgter Messung soll ein Interrupt ausgelöst werden der dann die 
Messwertverarbeitung übernimmt. Dazu initialisiere ich den ADC so:
1
void ADC_init()
2
{
3
  ADMUX = 5;                      // Kanal waehlen
4
    ADMUX |= (1<<REFS0); // interne Referenzspannung nutzen
5
     //    ADC aktivieren, Teilerfaktor 8, ADC Interrupt aktiviert
6
  ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS0 | 1<<ADIE); 
7
}

Erste Frage: ist das so o.k.? Nach dem Aufruf von ADC_init() in main() 
wird natürlich noch sei(); aufgerufen.

Zweite Frage: Wie veranlasse ich den ADC jetzt zu einer Wandlung?

Gruß
Ralf

von gerd (Gast)


Lesenswert?


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.