Data z řetězce

Ludek
Příspěvky: 289
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Re: Data z řetězce

Příspěvek od Ludek » 27 črc 2020, 18:08

Kamile, píše to : incompatible types in assignment of 'char*' to 'char [10]'
na co jsem zapomněl?

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Data z řetězce

Příspěvek od ondraN » 27 črc 2020, 19:19

Zkus tohle, upozorňuji že to neni otestovane :mrgreen:

Kód: Vybrat vše

//predpoklada retezec tvaru "text125478" nebo "text 58425" nebo "  text 9724    \n" nebo "<text1475>" atd........
String text="";
int textval=0;
char ch='\0';
const byte MINRXLEN=5; //min. delka textu

void setup() {
  Serial.begin(9600);

}

void loop() {
  if(Serial.available()>=MINRXLEN){
    while(Serial.available()>0){
      ch=Serial.peek();
      if(!(isDigit(ch)||isAlpha(ch))){
        Serial.read();  //znak co neni pismeno nebo cislo zahodime
      }else{
        if(isAlpha(ch)){
          text=text+String(ch); 
          Serial.read(); //zpracovany znak vyhodime
        }else{  //je to cislice
          textval=Serial.parseInt();
        }
      }
      if(Serial.available()==0){ //chvilku pockame, jestli jeste neco neprijde
        delay(10);
      }
    }
  }
  //tady mame v promenne text zadany text
  //v promenne textval je cislo, pokud je nula, bylo cislo nulove nebo nebylo zadane
  //pokracujeme zpracovanim dat
  //po zpracovani musime inicializovat textovy retezec, jinak se bude stale mnozit 
  text="";
  
}

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: Data z řetězce

Příspěvek od KamilV » 27 črc 2020, 19:45

Aha, jasně, strtok vrací jen pointer, deklaruj si x jako

Kód: Vybrat vše

char* x;
A ještě nevím z hlavy, zda atoi() v parametru vezme referenci. Mohl by.

Ludek
Příspěvky: 289
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Re: Data z řetězce

Příspěvek od Ludek » 27 črc 2020, 20:52

Kamile, pořád to samé :-( ta hvězdička nepomohla...............
Ondro, šlape to !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
díky Vám všem

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: Data z řetězce

Příspěvek od KamilV » 27 črc 2020, 21:21

Nevěřím :) musel bys ukázat celý kód. Každopádně pokud jsou to jen dvě hodnoty, dá se to načíst různě.
síla strtoku by opravdu byla ve chvíli, kdy by hodnot bylo více, např. "ahoj*123*svete*789*dlouhy*456*text*0"

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 11 hostů