PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : int to char - Rechnen und Ausgabe des Asuros



erik_wolfram
31.12.2009, 10:29
Hallo,
endlich läuft mein Asuro und ich bin fleißig am probieren.

Um den Asuro besser auswerten zu können verwende ich die Ausgabe über die Infrarotschnittstelle um Werte und Zustände zu übermitteln.

Nun wollte ich mal Testen mit welchen Zahlengrößen der Asuro Atmega8 xxx jonglieren kann - nur leider bekomme ich es nicht hin, dass er mir die Werte übermittelt.

Mit welchem Befehl kann ich den einen Integer in einen Char umwandeln?
Im INternet bin ich leider nicht fündig geworden - jeder mein etwas anderes und nichts funktioniert...

MFG erik_wolftram

KingTobi
31.12.2009, 10:40
itoa()

(15 Zeichen)

erik_wolfram
31.12.2009, 11:27
den Begriff hatte ich schon gefunden, aber ich bekomme es einfach nicht zum laufen

hier mal das Programm:

#include "asuro.h"

int main(void)
{
Init();

char string [] = "Bereit zum Rechnen!";
SerWrite(string,sizeof(string));

int zahl1 = 10;
int zahl2 = 10;

int zahl3;
char buffer [33];


zahl3 = zahl1 + zahl2;

char erg;

erg = itoa(zahl3, buffer, 10);


SerWrite(erg,2);

}


die Version habe ich so im Internet gefunden, auch wenn ich nur itoa(zahl3) benutze kommt nur blödsinn raus....

KingTobi
31.12.2009, 11:31
Ja, weil das Ergebnis nicht in "erg" steht sondern in "buffer".

erik_wolfram
31.12.2009, 13:02
ok dankeschön - das habe ich übersehen.

Gibt es einen Befehl für float to string/char, bzw. wo finde ich eine entsprechende Funktion/library dafür um soetwas zu implementieren?

KingTobi
31.12.2009, 13:05
Wenn du soviel umwandeln willst dann benutz "sprintf" verbaucht zwar nicht wenig Speicher, lässt aber keine Wünsche offen!