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
Die meisten (alle?) Flags werden durch ne logische 1 gelöscht. Dann dürfte wohl ADCSR |= (1<<ADIF). dave
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.