10Bit DA Wandler ansprechen?

Gast #118371
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
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

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.