hallo miteinander,
ich übergebe über den seriellen monitor die zahl "123456789" und möchte die dann in einen long wert packen. doch dann kommt da -7616 bei raus :-(
ich dachte das ich long werte von 2 milliarden (- wie ins +) wert hinterlegen lassen.
variablen sind vor dem "void setup() " deklariert!
text = "config,t=123456,f=1,r=0,rpm=50"
wo habe ich denn den denkfehler?
gruß mücke
ich übergebe über den seriellen monitor die zahl "123456789" und möchte die dann in einen long wert packen. doch dann kommt da -7616 bei raus :-(
ich dachte das ich long werte von 2 milliarden (- wie ins +) wert hinterlegen lassen.
variablen sind vor dem "void setup() " deklariert!
code: [select]
int freigabe_t;
int richtung_t;
long takt_t;
int speed_t;
code: [select]
void befehl_config( char* text )
{
serial.println(text);
char* str = text;
serial.println(str);
char* ptr = strstr(str, "f=");
if (ptr != null)
{ freigabe_t = atoi(ptr + 2); }
ptr = strstr(str, "r=");
if (ptr != null)
{ richtung_t = atoi(ptr + 2); }
ptr = strstr(str, "t=");
if (ptr != null)
{ takt_t = atoi(ptr + 2); }
ptr = strstr(str, "rpm=");
if (ptr != null)
{ speed_t = atoi(ptr + 4); }
text = "config,t=123456,f=1,r=0,rpm=50"
wo habe ich denn den denkfehler?
gruß mücke
mein c handbuch sagt:
du suchst vermutlich strtol(), oder so..
quote
int atoi (const char * str);ich würde nicht erwarten, dass long funktioniert.
du suchst vermutlich strtol(), oder so..
Arduino Forum > International > Deutsch (Moderator: uwefed) > long wert wird zerschossen
arduino
Comments
Post a Comment