int to char für displayausgaben beim gcc

Gast #76353
Lesenswert?
• ▲
▼
ich verwende den avrgcc compiler und suche eine funktion, die einen
integer, float oder double wert in einen ascii-string umwandelt, da ich
einen messwert auf einem Char-lcd display ausgeben möchte.

gibt es beim avrgcc eine fertige funktion die ich nutzen kann oder hat
jemand von euch schonmal jemand soetwas programmiert?

danke im voraus
christoph
Gast #76355
Lesenswert?
• ▲
▼
Anmerkung:
zu finden sind die in der <stdlib.h>

RTFM finde ich hier unberechtigt, wo soll das denn stehen, ich habe die
Funktionen auch nur durch Zufall im Programm eines anderen gefunden.

Alex
Gast #76356
Lesenswert?
• ▲
▼
RTFM als ,,Absender'' finde ich auch unsinnig -- es hat keinen Sinn,
jemanden auf TFM hinzweisen und dann zu feige zu sein, seinen Namen zu
nennen.

Anyway, all das steht in der avr-libc Doku, wo sonst?  Wer WinAVR hat,
hat diese Doku auf der Platte.
Gast #76357
Lesenswert?
• ▲
▼
funzt nicht so ganz:
avr-gcc -g -Wall -Os -mmcu=at90s8515     -c -o main.o main.c
main.c: In function `main':
main.c:38: warning: `string_zahl' might be used uninitialized in this
function
avr-gcc -g -Wall -Os -mmcu=at90s8515   -Wl,-Map,main.map -o main.elf
main.o
main.o: In function `main':
D:\Eigene
Dateien\microkontroller\c-programme\apo1_gerätesoftware/main.c:47:
undefined reference to `dtostre'
make: *** [main.elf] Error 1

ich habe irgendwo gelesen, dass ich noch ne datei mitlinken müsste oder
sowas, wisst ihr weiter? und vor allem was muss ich in meinem makefile
ändern?

ist der quelltext denn richtig?

  double zahl;
  char * string_zahl;
  zahl = 3.4524;
  dtostre(zahl, string_zahl, 2, 0);

danke
christoph
Gast #76360
Lesenswert?
• ▲
▼
Hallo,
also in C verwende ich da immer sprintf, weil ich es da auch so
formatieren kann wie ich will:

int test = 38762;
char buffer[20]; //oder so viel man braucht
sprintf(buffer,"%09,1d",test);
/*Ausgabe auf 9 Stellen, 7 Vorkomma, 1 Nachkomma (bei int eigentlich
Blödsinn), mit führenden Nullen

mfg florian

warum heisst die programmiersprache C eigentlich C? Vielleicht weil der
Vorgänger B hieß!

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.