Bitmanipulation

Gast #2101465
Lesenswert?
• ▲
▼
Schönen Sonntag alle zusammen,

Ich bin neu auf dem Gebiet Mikrokontroller. Ich habe ein kleines 
Problem.
Also, ich verwende einen Atmel Mikrokontroller, dieser hat einen 
internen 10Bit A/D-Wander. Damit sind ja Werte von 0 - 1023 möglich, 
welche ja den 10Bit entsprechen.
Mein Problem ist, ich brauch aber 16Bit. Wie komme ich von 10Bit auf die 
vollen 16Bit? Einfach nur von 10 auf 16Bit shiften funktioniert ja 
nicht.
Ich möchte die Werte NACH der Wandlung "aufblasen" auf 16Bit, sprich aus 
1023 wird 65535, usw. Also jeden Wert nach der Wandlung bearbeiten.

Ich hoffe ihr könnt mir helfen.

Schönen Sonntag noch
Persönliche Seite #2101474
Lesenswert?
• ▲
▼
_M_ schrieb:
> Warum funktioniert shiften nicht?
> Es wäre vermutlich die Lösung zu deinem Problem.
Weil vermutlich nicht die "bits" interessant ist, ein 10bit Wert kann 
auch ohne "shift" 16 bit beanspruchen (einfach vorne 0en einfüllen, bzw 
sind diese automatisch da).
Es soll aber höchstwahscheinlich gelten das einfach die Werte 
"gestreckt" werden sollen auf eine 16bit Skala (was auch immer das 
bringen soll).
Gast #2101496
Lesenswert?
• ▲
▼
Hallo,

spess53 schrieb:
> ADCH und ADCL auslesen.

Aber bitte in der umgekehrten Reihenfolge (erst ADCL, dann ADCH), sonst 
kommen falsche Werte heraus ...

Diese Art der Skalierung liefert allerdings Werte zwischen 0 und 65472, 
da die untersten 6 Bits immer 0 sind. Bei Skalierung auf "echte" 65535 
als Maximalwert muss man die Werte berechnen oder, wie bereits 
vorgeschlagen, 64 10bit-Werte aufaddieren (dann hat man auch echte 16bit 
Auflösung).
Gast #2101624
Lesenswert?
• ▲
▼
Erst mal danke für die Antworten. ADCH und ADCL auslesen würde nichts 
bringen, wenn da nur Werte zwischen 0 und 65472 ausgelesen werden 
können. Das Gleiche bekommt man auch wenn man einen 10Bit-Wert um 6 
Shiftet, deswegen geht Shiften ja nicht ;-). Muss ich wohl berechnen.
Und ja ich brauche nicht die Bits wie Läubi schon sagte, aber danke an 
alle!! Wirklich viel los für einen Sonntag hier :)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.