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

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