Go Down

Topic: ayuda con cadenas de datos (Read 1 time) previous topic - next topic

chechucv

Hola, a todos. Tengo un problema para separar un char*. que recibo por Serial, se trata de una cadena tipo A,250,125,112
Estoy intentanto simplemente separar cada dato en una variable. ejemplo: valor1 = 250  , valor2 = 125, valor3 = 112 empieza de nuevo desde que lea la 'A'. He llegado asta aquí pero se me atasca,,creo que hay algo escrito por aquí pero no lo encuentro, me podéis ayudar por favor?.
if (Serial.available()>0)           
{
   delay(12);                         
   
   serAva = Serial.available(); 
   for (i=0; i<serAva;i++ )       
   inputBytes = Serial.read();
   inputBytes =  '\0';             
   atoi(inputBytesPtr);   
   }
   else
   return ;                           //ya recibimos el string.


  datos = inputBytesPtr;
 
  for ( i=0;i<1;i++){
  resultados = datos;
  //Serial.println(inputBytes);
  Serial.println(datos);
  delay (200);
  }

SrDonGato

Has mirado en el playground ?

es una pregunta además que sale muchas veces, esta por el foro infinidad de veces.

en playground
Calcular Int a partir de String o cadena de caracteres

http://arduino.cc/forum/index.php/topic,69309.0.html

un saludo

Sergegsx

Arduino 1.0 incluye un par de funciones nuevas para hacer estas cosas,si no recuerdo mal
* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

curro92

Hola,
¿cómo tienes declarado inputBytes?

chechucv

Hola, curro92 la tengo como char.
SrDonGato, muchisimas gracias lo ví en su dia pero no lo encontraba, perdona.
Es alucinante lo sencillo que es, pero no entiendo como puedo hacer para coger los primero 3 numeros y meterlos en un int, luego los tre siguientes en otro int y luego los otros tres en otro int. Dado que la cadena es de 12 numeros y tengo que separarlos de tres en tres. El envío que hago desde el XBEE transmisor lo puedo separa por signos ("," o ";" o lo que sea), en el "receptor" XBEE lo recibo igual que lo envío sin problemas, pero mi problema es que como lo que transmito es el resultado de 4 entradas analógicas, debo separar esas cuatro entradas. Se que la forma mas tosca sería por multiplicaciones y divisiones pero me gustaría aprender como hacerlo mas limpio y sencillo y se me está atascando :smiley-eek:, un saludo.

Go Up