hallo! wie schon in der überschrift, hab ich mal ne frage zum analog comperator. bin zur zeit ein bischen am rumspielen damit. habe in den status registen eingestellt das auf positive und naegative flanke ein interrupt erfolgen soll. soweit scheints auch zu funktionieren. nun würde ich aber gern wissen ob eine negative oder positive flanke meinen interrupt ausgelöst hat. wie kann ich das feststellen? ach ja, ich programmier mit winavr in c. gruss michael
danke, habs hinbekommen. aber nochmal ne frage: warum funktioniert das ganze so: if(ACSR&32) und so nicht? if(ACO)
Weil mit ACO nur als Konstante für das Bit 5 deklariert ist. Das Register ACSR muss damit verknüpft werden.
>if(ACO)
dürfte immer wahr sein (ACO) ist im Headerfile definiert
(ACR & 32) oder auch (ACR & (1<<ACO)) ist eine bitweise-logische
Verknüpfung. Wenn das ACO-Bit gesetzt ist, wird der Ausdruck ungleich 0
und damit wahr (in C ist alles, was ungleich 0 ist, wahr).
Das sind aber C-Grundlagen, die man sich am besten mit Hilfe der
"C-Bibel" von Kernighan und Ritchie anliest.
Das AVRGCC-Tutorium hilft dann beim "Umstieg" auf Mikrocontroller...
okay, jetzt ist es klar. die grundlagen sind schon vorhanden, habs aber einfach net gesehen. danke
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.