ADC hängt beim ADIF-Check

Gast #236662
hallo

irgendwie stehe ich gerade wie der 'Ochse vor dem Berg'...
Ich versuche mit einem ATmega8 analoge Werte einzulesen, dazu habe ich
mal den Code aus dem Tutorial genommen, aber das Programm kommt wohl
nicht aus der ADIF-Check Schleife
   while(!(ADCSRA & (1<<ADIF)));
raus.

Nur scheint die Zeile zum löschen des ADIF-Flags
   ADCSRA = (1<<ADIF);
das komplette Register zu überschreiben -> kein ADEN mehr -> keine
weitere AD-Wandlung -> ADIF wird nie mehr gesetzt -> nothing moves

hab ich da einen groben (Denk-)Fehler oder kann jemand diese Verhalten
nachvollziehen?
Ach ja, ich benutze die aktuelle WINAVR Version.

Danke schon mal und Grüße
Manfred
Gast
Sowas wie

   ADCSRA = (1<<ADIF);

ist nur sinnvoll, wenn es sich beim entsprechenden Register um eins
mit ausschließlich Interrupt-Flags handelt.  Das ist hier nicht
der Fall, daher sollte man entweder

   ADCSRA |= (1 << ADIF);

schreiben oder aber gleich das gesamte Register neu beschreiben
(einschließlich des ADIF).
Gast
hallo Jörg

Danke erstmal für die schnelle Antwort..mit

   ADCSRA |= (1 << ADIF);

hatte ich's auch getestet und da hat es funktioniert, war nur unsicher
bzgl. der Beschreibung im Tutorial (sollte ich vielleicht nacher mal
ergänzen...)

BTW wann kann man dich jetzt mal zu dem Beer einladen? :-)

Manfred
Gast
> BTW wann kann man dich jetzt mal zu dem Beer einladen? :-)

Eigentlich immer, ist nur die Frage: wo?

In Dresden können wir sicher schnell mal einen Termin finden, woanders
nur dann, wenn ich zufällig mal in der Ecke aufschlage.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.