-
SERWRITE-Funktion
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 ...
-
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);
-
du kannst die funktion PrintInt() hernehmen, die will einen integer als parameter
-
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.
-
wenn i die PrintInt funktion nutzt, dann sagt der mir als Warnung "implicit declaration of function 'strlen' ... was bedeutet das???
-
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.
-
kk hab die ignoriert und es läuft super mit der PrintInt ... vielen Dank EDH
-
ich hab noch folgende includes für die STRING-Funktionen
#include <stdlib.h>
#include <string.h>
-
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?
-
stimmt du hast recht die <stdlib.h> ist unnötig