10Bit DA Wandler ansprechen?

Gast #118371
Lesenswert?

Hallo!
Kann mir jemand sagen  bzw. eine Routine geben, wie ich einen 10Bit DAC
parallel ansteuern kann mit einem AVR?
Bei einem 8Bit DAC ist das ja kein Problem, da brauche ich ja nur einen
gesamten Port des Controllers anzusprechen.
z.B.:   PORTC=256;
Somit werden alle Ausgänge von Port c auf 1 gesetzt.
Aber wie mache ich das mit 10Bit??
Ich benutze den Codevision C-Compiler.
Irgendwie muss das ja relativ einfach sein, die 10Bit auf zwei Ports zu
verteilen.
Über Eure Hilfe würde ich mich sehr freuen!
MfG
Jens
Gast #118372
Lesenswert?

erstmal: 256 als 8bit=0.
Ansonsten ist es natürlich recht einfach, auch 10bit zu übertragen.
Kommt aber sehr auf den verwendeteten DAC an. Vieles wird heute seriell
erledigt, spart erheblich Leitungen.
Aber wenn du wirklich 10bit parallel ausgeben willst:

PortC=data%256; //low bits ausgeben
PortB=data/256; //high bits ausgeben

Wird vom Compiler optimiert, d.h. die Division wird nicht wirklich
ausgeführt, sondern direkt auf low/high-Byte von data zugegriffen.Die
restlichen Ports (B2..B7) von PortB werden natürlich mit 0
überschrieben. Kann man vermeiden, wenn das Ergebnis mit dem vorherigen
Zustand von PortB verknüpft und dann erst ausgegeben wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren