Forum: Mikrocontroller und Digitale Elektronik Frage zu Analog Comperator


von Michael (Gast)


Lesenswert?

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

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Guck dir das ACO-Bit an...

von Michael (Gast)


Lesenswert?

danke, habs hinbekommen.

aber nochmal ne frage:

warum funktioniert das ganze so:
if(ACSR&32)

und so nicht?
if(ACO)

von Sonic (Gast)


Lesenswert?

Weil mit ACO nur als Konstante für das Bit 5 deklariert ist. Das 
Register ACSR muss damit verknüpft werden.

von inoffizieller WM-Rahul (Gast)


Lesenswert?

>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...

von Michael (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.