[Linux-Biella] aiuto su variabili arduino?
Jumping Jack
jumpingjack a jumpingjack.org
Ven 7 Apr 2017 15:55:56 CEST
On 07/04/2017 15:34, Leonardo Buffa wrote:
>
>
> On 06/04/2017 12:00, Leonardo Buffa wrote:
>
> allora questa e' la situazione:
>
>
> int switchState = 0;
>
>
> void loop() {
> // listen for incoming clients
> EthernetClient client = server.available();
> if (client) {
> Serial.println("new client");
> while (client.connected()) {
> if (client.available()) {
> char c = client.read();
> Serial.write(c);
> switchState = int(c);
> }
> }
> // give the web browser time to receive the data
> delay(1);
> // close the connection:
> client.stop();
> Serial.println("client disconnected");
> Serial.print(switchState);
> }
> }
>
> qualunque cosa io gli mandi con: echo $qualcosa |nc 192.168.1.10 80
>
> switchState assume sempre valore 10...
non so perché ti dia 10 sembra un linefeed oppure sarà il byte
precedente a quello putanto da c.
> se invece tolgo la riga "switchState = ..." esso rimane a zero
>
> invece il solito if ( c = "1" ); { switcState = 1 } eccetera funziona
> :(((
suppongo c=="1"
inoltre "1" non è #1 ma #49#0 quindi controlla se c è uguale a 49 che è
corretto
> pero' mannaggia la miseria non riesco a scrivere correttamente il
> codice per farlo direttamente... tanto dovrano arrivare tre valori a "c"
> 0 1 e 2 e saranno inviati da software...
> e mettere tre if mi rode parecchio quando con una riga potrei
> aggiustare la variabile!
>
switchstate=(int) c-'0' (o qualcosa del genere devi vedere con i cast
come fare)
Maggiori informazioni sulla lista
Linux