Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - Arduino: indexOf, startWith, etc. funzionano a singhiozzi
Forum - Altri Linguaggi - Arduino: indexOf, startWith, etc. funzionano a singhiozzi

Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 2:43
Mercoledì, 14/11/2012
Ciao a tutti,
ho un problema con Arduino, c'è che io invio con il cellulare(via bluetooth), una stringa formata da un carattere e numeri(variabili), ok, vado a stamparli a video, con Serial.print(Read); e mi fa vedere tutto, ma quando vado ad inserire un'if con indexOf o startWith, per sapere quali comandi mi sono arrivati, la condizione funziona a sinchiozzo, cioè:

Codice sorgente - presumibilmente C++

  1. #include <SoftwareSerial.h>
  2. #include <string.h>
  3.  
  4. SoftwareSerial mySerial(2, 3); // RX, TX
  5.  
  6. void setup(){
  7.  mySerial.begin(9600);
  8.  Serial.begin(9600);
  9. }
  10.  
  11. void loop(){
  12.     if(mySerial.available()){
  13.     char reads = mySerial.read();
  14.     String Read = "";
  15.     Read = String(reads);
  16.     //Serial.print(Read);
  17.     if(Read.startsWith("Y")){ //Ecco
  18.       Serial.println("Si");
  19.     }else{
  20.       Serial.println("NO");
  21.     }
  22.     }
  23.     delay(10);
  24. }


Lo startWith, mi dice 1 volta SI e 3 volte NO, e anche l'indexOf :_doubt: . Come mai?
Grazie! :k:
Edit: Novità
Ho appena scoperto che se la Y la invio manualmente, con S2 Bluetooth, allora questo me la riconosce sempre, invece se, come nel mio programma, gli invio una raffica di:
Y239
Y483
Y984
Y54
Y1
Non mi riconosce la Y all'inizio :hail:

Ultima modifica effettuata da LittleHacker il 14/11/2012 alle 2:50
PM Quote