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(); }
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.
@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...
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
Es gibt ganz einfach für den mspgcc keine Floating-Point Lib für sscanf usw. Musst du zu Fuß machen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.