Forum: Mikrocontroller und Digitale Elektronik ADIF Bit löschen


von Andreas (Gast)


Lesenswert?

Hallo und Guten Morgen!

Frage:
Nach Abschluß einer AD-Wandlung möchte ich das ADIF-Bit löschen.
Reicht es nur dieses Bit zu löschen?
Macht er das normalerweise nicht selbst?
Dachte so an: ADCSR &= ~(1<<ADEN);
Im Tutorial steht: ADCSR = (1<<ADEN); nur das löscht auch die ADEN-Bits
etc., was wohl nicht sein soll?!
Für ein paar Tipps bin ich dankbar!
Kann man den AD-Wandler im AVR-Studio irgendwie simulieren, also ohne
von Hand noch irgendwelche Bits zu setzen...

Gruß,
Andreas

von dave (Gast)


Lesenswert?

Die meisten (alle?) Flags werden durch ne logische 1 gelöscht.
Dann dürfte wohl ADCSR |= (1<<ADIF).

dave

von Lutz Müller (Gast)


Lesenswert?

Hallo,
lies mal FAQ Nr. 24 der avr-libc (warum werden Flags mit einer "1"
gelöscht?). Wenn man "|=" benutzt und auch andere Flags sind gesetzt
(=1), dann wird mit einer ODER-Verknüpfung bei jedem gesetzten Flag
eine "1" zurückgeschrieben und per vorgenannter Definition werden
diese Flags dann gelöscht, was wohl nicht beabsichtigt ist! Also zum
Löschen eines bestimmten Flags immer "=" benutzen, dann wird auch nur
das angegebene Flag mit einer "1" gelöscht. Der Rest wird mit "0"
verODERt und ergibt "0", was per vorgenannter Definition nichts
ausmacht.

Gruß
Lutz

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.