mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 10*10Bit Multiplikation mit Festkommastelle


Autor: Ralf Meiberg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich stehe vor folgendem Problem:

Beim Auslesen des ADC meines Attiny26 erhalte ich, aufgrund der
benötigten Genauigkeit 10Bit-Werte.

Diese interpretiere ich als vorzeichenlose Festkommazahl, wobei meine
obersten 3Bit meine Vorkommastelle darstellen (Werte von 0..5) und die
unteren 7 Bit meine Nachkommastelle (Genauigkeit von 7,8125e-3).

Diese Zahl möchte ich mit einer Zahl, welche immer kleiner 1  ist
multiplizieren. Auch diese Zahl besteht aus 7 Nachkommastellen.

Wie würdet Ihr das Problem lösen?
Das Ergebniss darf maximal 2 Byte lang sein.

Ich hoffe, daß mir von Euch einer weiterhelfen kann.

MfG
Ralf

Autor: Jangomat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein AD-Wert wird rechtsbündig in ein 16-Bit Wort geschoben. Diesen
multiplizierst Du mit Deiner Korrekturzahl von 0..FFFF, wobei FFFF den
Korrekturwert 1 darstellt (16-Bit unsigned Multiplikation). Das
Ergebnis besteht aus 4 Byte, wovon die 2 höchstwertigen Byte Dein
Ergebnis sind.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.