mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Serielles Kommunikation, Parsen von Double


Autor: Honkey Honk (honkeys)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo kann mir vielleicht jemand einen Denkansatz geben oder einen 
Beispielcode wie man mit dem AVR- GCC ein serielle Eingabe realisiert, 
welche so ähnlich aussieht wie die SCPI- Syntax, das Parsen bereitet mir 
Kopfzerbrechen und das Wandeln der empfangenen Zahlen in Double git es 
da irgendeine Funktion für?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Honkey Honk wrote:
> SCPI- Syntax

sagt mir jetzt nichts.

> das Parsen bereitet mir
> Kopfzerbrechen

Je nachdem wie die SCPI Syntax aussieht, kann das von
simplen Tabellen bis zu Techniken aus dem Compilerbau reichen.
Grundlage ist aber praktisch immer:
Die empfangenen Zeichen in einem String sammeln.
Den String danach in einzelne Wörter zerlegen.
Anhand der erkannten Wörter weitermachen.

> und das Wandeln der empfangenen Zahlen in Double git es
> da irgendeine Funktion für?

strtod( ... )
findest du in jeder C-Doku

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Double kannst du ähnlich wie int parsen. Erst sammelst du alle Ziffern 
ein (für jede Ziffer double*10+ziffer), danach setzt du das Komma 
(Dezimalpunkt suchen, Position merken, schauen ob hinten noch E+/-x 
steht, wenn ja draufrechnen, dann *10^).

cstdlib kann man nehmen, wenn man verstanden hat wie es funktioniert. 
Wobei die Lib auf'm Mikrocontroller doch etwas overkill ist.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
I_ H. wrote:

> cstdlib kann man nehmen, wenn man verstanden hat wie es funktioniert.
> Wobei die Lib auf'm Mikrocontroller doch etwas overkill ist.

Ich habs jetzt nicht ausprobiert, würde aber nicht erwarten,
dass ein strtod noch massig anderes Zeugs aus der Standard Lib
nach sich zieht.

Wenn man selbst was schreibt: Auf die Behandlung der Vorzeichen
nicht vergessen!

Autor: Honkey Honk (honkeys)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja dann würde ich wohl zum selbstschreiben tendieren, wird denke ich 
wohl das einfachste und effektivste sein...
Danke für die Unterstützung

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.