[Linux-Biella] aiuto su variabili arduino?

Jumping Jack jumpingjack a jumpingjack.org
Gio 6 Apr 2017 16:11:51 CEST


On 06/04/2017 15:23, Leonardo Buffa wrote:
>
>
> On 06/04/2017 15:01, PaulTT wrote:
>
>> btw sei certo che sia propio  "1" (senza spazi)?
>> o ti arriva garbage "1 " o " 1" ?
>
> guarda
>
>   if (client) {
>     Serial.println("new client");
>     while (client.connected()) {
>       if (client.available()) {
>         char c = client.read();
>         Serial.write(">");
>         Serial.write(c);
>         Serial.write("<");
>       }
>     }
>     delay(1);
>     client.stop();
>     Serial.println("client disconnected");
>   }
>
> io faccio: echo 1|nc 192.168.1.10 80
>
> ed il debug scrive:
>
> new client
>
> >1<>
> <client disconnected
>
>
> quindi il char e' bello pulito e senza strani segni

Mi ero perso :) echo 1 manda il carattere 1, quindi ricevi il numero 49, 
quando scrivi una variabile char sulla seriale scrivi il numero non il 
carettere, quindi correttamente di là arriva 1 come carattere.
atoi() non può funzionare perché si aspetta una stringa che finisca con 
null, quindi ti darà qualcosa a caso che sta prima del primo null che 
incontra nella memoria.
Usando una variabile String, se leggi una stringa intera via seriale 
funziona bene, ma se è a carattere singolo devi convertirlo, fai 
semplicemente -48 se sono solo numeri e sei a posto.



Maggiori informazioni sulla lista Linux