collapse

* Posts Recentes

Resmas de Trotinetes por Njay
[Ontem às 17:49]


[Material] Compra de material por papamoscas
[15 de Fevereiro de 2019, 17:05]


Motor com travão por Alfredo Garcia
[13 de Fevereiro de 2019, 22:56]


Porta Arduino Baixando tensao por mauriciosouza100
[08 de Fevereiro de 2019, 13:39]


Fábricas de componentes electrónicos em Portugal? por SerraCabo
[07 de Fevereiro de 2019, 13:54]


Sistema embarcado movido a energia solar por Njay
[06 de Fevereiro de 2019, 15:01]


Tentanto reaver alguns conhecimentos de eletronica por filjoa
[06 de Fevereiro de 2019, 02:58]


bma180 avr por vasco
[03 de Fevereiro de 2019, 21:40]


3D Prusa hephestos da BQ por josecarlos
[30 de Janeiro de 2019, 18:43]


Gerador de lixo radioeléctrico III por SerraCabo
[29 de Janeiro de 2019, 19:40]

Autor Tópico: função itoa() + startsWith()  (Lida 1559 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline joaopedrocmp

  • Mini Robot
  • *
  • Mensagens: 246
função itoa() + startsWith()
« em: 27 de Dezembro de 2011, 21:58 »
Boas pessoal, tou com uma duvida nestas funções

Código: [Seleccione]

#include <IRremote.h>

int RECV_PIN = 2;
char stringone[11];
IRrecv irrecv(RECV_PIN);
decode_results results;
char valor[11];
void setup()
{
  Serial.begin(9600);
  pinMode(13, OUTPUT);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  irrecv.decode(&results);

 
  if (irrecv.decode(&results)) { //se o receptor IR recebeu um valor,...
    if (results.value == 1103032335){ //se esse valor for...
     
       itoa(results.value,valor,10);     // convert results.value para string 
     
          if (valor.startsWith("103", 1)) {    // se "valor" começa com 103 no segundo caracter...
           Serial.println("Right"); }
    }
  }
    Serial.println(results.value);
    irrecv.resume(); // Receive the next value
  }


não sei se  o valor esta bem convertido, ou se nao estou a usar bem o startswith

Offline GnGz

  • Mini Robot
  • *
  • Mensagens: 665
Re: função itoa() + startsWith()
« Responder #1 em: 27 de Dezembro de 2011, 22:22 »
result.value retorna um int?

Faz o seguinte:

Onde:  if (valor.startsWith("103", 1)) {    // se "valor" começa com 103 no segundo caracter...
           Serial.println("Right"); }

Substitui por Serial.println(results.value);
« Última modificação: 27 de Dezembro de 2011, 22:25 por GnGz »

Offline joaopedrocmp

  • Mini Robot
  • *
  • Mensagens: 246
Re: função itoa() + startsWith()
« Responder #2 em: 28 de Dezembro de 2011, 18:13 »
Boas, quando li a resposta ja tinha arranjado uma solução :)

Obrigado. fica assim:

Código: [Seleccione]

void loop() {
  irrecv.decode(&results);

 
  if (irrecv.decode(&results)) { //se o receptor IR recebeu um valor,...
         
 if (results.value == 1103032335){ //se esse valor for...
        String teste= results.value;
          if (teste.startsWith("303",3)) {
        //faz isto....
}





a função itoa nao era necessaria :)