Kommazahl übern UART schicken!

Gast
Hallo Martin,

wenn Du weißt, auf wieviele Stellen genau Du die Zahl brauchst,
multiplizier sie doch im AVR mit einem Faktor (sagen wir, 1000), schick
sie zum PC und teile sie dort wieder durch diesen Faktor.

Gruß Sebastian
Gast
Soweit ich weis must du die Zahl umwandeln.
ich würd das so machen:
z.B. 124,4
124,4 * 10 = 1244
1244 / 1000 = 1 Rest 244   1+48 = '1'
244 /100    = 2 Rest 44    2+48 = '2'
44 / 10     = 4 Rest 4     4+48 = '4'
komma senden, dann die 4 die übrig bleibt.

So mach ich das immer(in ASM).
Keine Ahnung obs da noch was besseres gibt.
Die Zahl sollte das Komma immer an der selben stelle haben, sonst musst
du das voher extra auswerten.


Gruß Matthias
Gast
Wenn (aber auch nur dann!) Du auf dem AVR und dem PC Gleitkommazahlen
des selben Formats verwendest, dann könntest Du die Gleitkommazahl so
wie sie ist Byte für Byte übertragen.
Du könntest dazu ein union definieren, das folgende zwei Felder hat:

1. die Gleitkommazahl und
2. ein Bytearray aus so vielen Bytes, wie die Gleitkommazahl groß ist.

(Dies kann sowohl AVR- als auch PC-seitig so geschehen.)

Gruß, Michael
Gast
Hi...

Wenn es nur um die Anzeige im Terminalprogramm auf dem PC geht, dann
schick doch einfach den ASCII-Code für das Komma oder den Dezimalpunkt
rüber...

...HanneS...
Gast
@sebastian: gibts ne bessere möglichkeit in assembler? Meine möglichkeit
is dafür gedacht die Zahl z.B. im Hyperterminal anzeigen zu lassen. Wenn
ich die Zahl sowiso nachher am PC weiterbearbeite geht das natürlich
einfacher...

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.