www.mikrocontroller.net

Forum: PC-Programmierung Basic Zeichenkette fehlerhaft


Autor: Roy H. (roy01)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin dabei mit FreeBasic mein erstes Programm zu schreiben.
Dabei soll die EEPROM Aufzeichnung meines µC Projekts
in eine Tabellenkalkulations taugliche *.csv Datei umgewandelt werden.

Jeder Datensatz besteht aus 7 Byte.
3 Byte stellen das Datum dar, gefolgt von 2 16Bit Werten.

Die Konvertierung des Datums funktioniert wunderbar.
Der erste 16Bit Wert ist auch richtig als Zeichenkette
dargestellt, aber dann beginnen die Fehler.
Der zweite Wert sollte 1185 (0h04A1) betragen.
In der Archiv.csv steht er aber mit 929.
Der Fehler wiederholt sich über die ganze Datei.

Nun verstehe ich nicht, warum einige Werte richtig sind und andere 
nicht.

Habe alles nötige gleich mit angehängt.

Würde mich sehr freuen wenn sich das mal Jemand anschauen könnte.
Vielen Dank im voraus.

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

Bewertung
0 lesenswert
nicht lesenswert
Roy H. schrieb:

> dargestellt, aber dann beginnen die Fehler.
> Der zweite Wert sollte 1185 (0h04A1) betragen.
> In der Archiv.csv steht er aber mit 929.
> Der Fehler wiederholt sich über die ganze Datei.
>
> Nun verstehe ich nicht, warum einige Werte richtig sind und andere
> nicht.

Heisser Tip:
Wenn man nicht so ganz versteht, wie ein Programm zu den Ergebnissen 
kommt, zu denen es kommt, dann empfiehlt es sich dem Programm über die 
Schulter zu sehen.
Das kann bedeuten: In einem Debugger Zeile für Zeile einzeln ablaufen zu 
lassen und sich die Zwischenergebnisse anzusehen.
Das kann aber auch bedeuten sich zusätzliche Ausgaben ins Programm 
einzubauen, mit denen man sich Zwischenwerte ansehen kann. AM besten mit 
den Eingaben anfangen: Welche Werte liest mein Programm von der Datei 
und was passiert damit weiter.

Autor: Roy H. (roy01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe den Fehler selbst gefunden.
Die Variable "Zeichen" muß als UByte (unsigned) und
nicht als Byte definiert werden.
Dadurch wurde das von der Datei eingelesen Zeichen falsch interpretiert.

Trozdem vielen Dank.

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.