[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