-         

Ergebnis 1 bis 10 von 10

Thema: SERWRITE-Funktion

  1. #1
    Robotik84
    Gast

    SERWRITE-Funktion

    Anzeige

    Servus leutz,

    also i habe mal eine dringende frage:

    beim asuro lasse i einen zähler hochlaufen der jeden schwarz weiss wechsel zählt und denn möcht i auf mein pc anzeigen lassen.
    zur zeit zeigt er mir nur immer nullen an. weiss aber net warum.

    frage: serwrite erwartet ein unsigned char und mein zähler is als unsigned int deklariert - habe au schon einen typecast probiert aber geht net.
    wie kann i denn nu z.B. wenn der zähler bis 2000 gezählt hat au diese auf meinen pc anzeigen???

    bitte um hilfe ...

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    24.11.2006
    Beiträge
    25
    char stellt nur einzelne Zeichen dar, um aus einem Int-wert zeichen zu machen muss man ihn in seine Stellen zerlegen.
    Vor ner weile hab ich damit einfach die Werte ausgegeben die die sch... Odometrie-Sensoren zurückliefern, sah bei mir dann so aus:
    funktioniert so mit der standart-asuro.h/c

    Code:
     
    char data[2];           //Datenfeld fürs Odometrie-dingens 
    char ausgabe[14];   //string zur Ausgabe
    char T, H, Z, E, eingabe;    //Tausender, Hunderter, Zehner, Einer
    
    
      FrontLED(ON);     //Licht
      LineData(data);   //dürfte klar sein
      
      
      //Linke Seite
    
      eingabe = data[0];
      
      T = eingabe / 1000;
      eingabe = eingabe - (T * 1000);
    
      H = eingabe / 100;
      eingabe = eingabe - (H * 100);
    
      Z = eingabe / 10;
      eingabe = eingabe - (Z * 10);
    
      E = eingabe;
      
      ausgabe[0] = T + 48;
      ausgabe[1] = H + 48;
      ausgabe[2] = Z + 48;
      ausgabe[3] = E + 48;
      ausgabe[4] = ',';
      ausgabe[5] = ' ';
    
    
      //Rechte Seite
    
      eingabe = data[1];
      
      T = eingabe / 1000;
      eingabe = eingabe - (T * 1000);
    
      H = eingabe / 100;
      eingabe = eingabe - (H * 100);
    
      Z = eingabe / 10;
      eingabe = eingabe - (Z * 10);
    
      E = eingabe;
      
      ausgabe[6] = T + 48;
      ausgabe[7] = H + 48;
      ausgabe[8] = Z + 48;
      ausgabe[9] = E + 48;
      ausgabe[10] = '\n';
      ausgabe[11] = '\r';
      ausgabe[12] = '\n';
      ausgabe[13] = '\r';
    
    
      SerWrite(ausgabe, 14);

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    du kannst die funktion PrintInt() hernehmen, die will einen integer als parameter

  4. #4
    Erfahrener Benutzer Begeisterter Techniker Avatar von Osser
    Registriert seit
    31.10.2006
    Ort
    Köln
    Alter
    47
    Beiträge
    387
    Hi Robotik84,

    ohne Source-Code kann ich nicht sehn was falsch sein könnte...

    Post bitte mal deinen Code.

    Doan moooch mer deees scho, goi.

    O.

  5. #5
    Robotik84
    Gast
    wenn i die PrintInt funktion nutzt, dann sagt der mir als Warnung "implicit declaration of function 'strlen' ... was bedeutet das???

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    mhh, also ich würde sagen, dass das eigentlcih ja nicht weiter stört
    bei der neuen lib gibt es halt dessöfteren warnings.
    auserdem:
    letzlich hat m.a.r.v.i.n daruafhingewiesen, dass es mit der funkiton PrintInt() prbleme beim flashen geben kann. du solltest vieleicht ein update der lib runterladen.

  7. #7
    Robotik84
    Gast
    kk hab die ignoriert und es läuft super mit der PrintInt ... vielen Dank EDH

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    21.03.2004
    Ort
    73061 Ebersbach
    Alter
    48
    Beiträge
    52
    ich hab noch folgende includes für die STRING-Funktionen

    #include <stdlib.h>
    #include <string.h>

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    da müsste es doch auch warnings geben!?
    die stdlib..h wird in der in der asuro.h inkludiert und die string.h wird in der asuro.c?
    wieso brauchst du eigentlioch die stdlib? strlen() ist in der string.h?

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    21.03.2004
    Ort
    73061 Ebersbach
    Alter
    48
    Beiträge
    52
    stimmt du hast recht die <stdlib.h> ist unnötig

Berechtigungen

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