www.mikrocontroller.net

Forum: Compiler & IDEs Gleitkommazahl mit mspgcc ausgeben


Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Während der folgende Programmschnipsel mit IAR Kickstart funktioniert, 
wird mit mspgcc ein f gefolgt von einigen Zeichen angezeigt.
was könnte ich falsch machen?


#include <MSP430x16x.h>        // für MSP430F1610
#include <string.h>            // für Zeichen (Infotext) notwendig
#include <stdio.h>             // für sprintf
#include  <io.h>

float wert3=12.34;


void Wert3_ausgeben(void)
{

   char z,c;
   char txt[8];

   sprintf(txt,"%f",wert3);  // lf für 32Bit

   for (z=0; z<8;z++)
   {
   c=txt[z];
   Daten_schreiben(c);
   }
}


void Daten_schreiben(unsigned char d)// Daten ins Datenregister der 
Anzeige schreiben
{
                         //     6.7    6.6   6.5    6.4
  P6OUT = 0x50;   // RS+E  =H     x     H     L      H
  E_H;            // E = P6.6 = H
  P1OUT=d;
  E_L;
  Pause1000();
}

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AUs Gründen der Platzersparnis gibt es unterschiedliche 
printf/scanf-Libraries, welche mit und welche ohne Float-Unterstützung. 
Du linkst offensichtlich mit einer ohne Float-Unterstützung.

Autor: Patrick Dohmen (oldbug) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Rufus:
Wenn ich mich recht erinnere trifft das für die MSPGCC-Library nicht zu.

...falls sich da in den letzten Monaten nichts geändert hat...

Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das bringt mich noch nicht so richtig weiter. Bestimmt hat schon jemand 
Erfahrung damit.
Es wäre schön, wenn ich davon profitieren könnte.
MfG
Wolfgang

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt ganz einfach für den mspgcc keine Floating-Point Lib für sscanf 
usw.
Musst du zu Fuß machen.

Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
na dann, auf zu Fuß
Wolfgang

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.