-
        

Ergebnis 1 bis 7 von 7

Thema: Ausgabe von int Werten

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.09.2007
    Beiträge
    211

    Ausgabe von int Werten

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hi,

    wie gebe ich integer Werte aus? Ich wollte mit den Odometriedaten spielen und dazu die Werte mir ausgeben lassen:

    Code:
    #include <asuro.h>
    
    int main(void)
    {
    	unsigned int data[2];
    	
    	Init();
    	MotorDir(FWD, FWD);
    	MotorSpeed(120,120);
    	StatusLED(GREEN);
    	
    	
    	
    	do {
    	OdometrieData(data);
    	SerWrite(data[0], sizeof(data[0])); 
    	}
    	while(1);
    	
    	while(1);
    	return 0;
    }
    Es kommen nur seltsame Zeichen, wahrschienlich muss man den int-wert in ascii umrechnen. Wie mache ich das?

    Grüße
    Alex

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    wahrschienlich muss man den int-wert in ascii umrechnen. Wie mache ich das?
    Die Antwort hast Du Dir schon selber gegeben
    inttoascii also itoa

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.06.2007
    Alter
    25
    Beiträge
    104
    Ich habe sowas immer mir Strings gemacht.

    Die Werte werden mittels sprintf() als in ein char umgeschrieben. Diesen Wert musst du dann halt nur noch statt den Textin die SerWrite Funktion einsetzten.

    Dazu benötigst du aber noch eine andere Libary (Hab gerade vergessen wie die heißt)

    Ich erinner mich aber, dass aus solchen Gründen, diese Methode auf Widerstand stößt. Auch hier im Forum.
    Gruß Roboaktiv


    It is öde to be blöde

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Dazu benötigst du aber noch eine andere Libary (Hab gerade vergessen wie die heißt)
    stdio.h heißt sie
    itoa braucht stdlib.h

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  5. #5
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    mach folgendes:

    dein int wert ist in der variable "wert" gespeichert. mach folgendes:

    Code:
    unsigned char text[6];
    itoa(wert,text,10);
    SerWrite(text,6);
    das sollte wohl helfen.
    kleinschreibung ist cool!

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    23.08.2007
    Beiträge
    61
    @damaltor: Es muss
    Code:
    unsigned char text[7];
    itoa(wert,text,10);
    SerWrite(text,6);
    heißen, da die Funktion itoa einen nullterminierten String erzeugt. Der größtmögliche int + ein Minuszeichen + ein Terminatorzeichen sind eben 7 Zeichen. Bei SerWrite reicht dann die 6, da man das Terminatorzeichen nicht mitsenden muss.

    Gruß farratt

  7. #7
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    da hast du wohl recht... ich hab etwas zu sehr gespart =)
    kleinschreibung ist cool!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •