Rechnen mit ADC-Ergebnis

Gast #168964
Lesenswert?
• ▲
▼
Hallo Zusammen!

Ich habe eine Frage zur Auswertung meiner AD-Wandlungen:

Ich verwende den ATtiny15 und erhalte mit dem AD-Wandler ein 10-bit
genaues Ergebnis (ich benötige alle 10 bits). Das Ergebnis steht nun in
zwei Registern,  da ja 10 bit nicht in einem Register unterzubringen
sind. Ich möchte nun von diesem 10-bit Ergebnis eine weitere 10-bit
Zahl subtrahieren.

Wie muss ich das machen, damit es arithmetisch korrekt ist? Ich bin mir
unsicher...

Danke für alle Tips!!!

Peter.
Gast #168965
Lesenswert?
• ▲
▼
Hi,
ich würde das so machen, die 10 bit Zahlen sind doch in 8bit Blöcke
geteilt. Erst muss man die beiden niederwertigen Bit blöcke von
einander abziehen und zwar so das man einen Übertrag bzw. ein Carry
bekommt. Dann zieht man das Carry von dem Höherwertigen Teil des
Ergebnisses der AD_Zahl ab und dann subtrahiert man noch die
höherwertigen Bits.
Dann mus das Ergebniss halt auch noch schrittweise wieder in zwei Bits
gespeichert werden.
Also viel Glück.
Gast #168966
Lesenswert?
• ▲
▼
Hi,

für die von Peter angegebenen Operationen gibt's auch spezielle
Befehle. Schau dir dazu mal ADDC, SUBC, ADDIW und SUBIW an. Die ersten
beiden beachten das Carryflag.

Dabei natürlich immer das Alignment der Resultate des ADC beachten :-)

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.