Ayuda con sprintf


hola leyendo este hilo http://forum.arduino.cc/index.php?topic=277153.0 me e encontrado que  si utilizo lo que ustedes han expuesto trabaja bien pero solo con una variable, pero la segunda se pierde, me explico mejor tengo un gps que toma la latitud y longitud ambos como flotantes, la idea es enviar un sms con los dos valores través de sprintf obviamente en un solo mensaje pero no logro crear el empaque para enviarlos, alguna idea, desde ya muchas gracias adjunto el codigo.

float latitude,longitude;

gps.f_get_position(&latitude, &longitude);
gps.stats(&chars, &sentences, &failed_checksum);

char* buffn="";
char* buff="";
  dtostrf(longitude,10,6,buff);
  dtostrf(latitude,10,6,buffn);
  concatenada
   sprintf (string,"latitud: %d|longitud: %d| con s ", buffn,buff);
   serial.println(string);

aspecto aproximado que hubiera tenido tu post si hubieras leído detenidamente las normas.
hola leyendo este hilo http://forum.arduino.cc/index.php?topic=277153.0 me e encontrado que  si utilizo lo que ustedes han expuesto trabaja bien pero solo con una variable, pero la segunda se pierde, me explico mejor tengo un gps que toma la latitud y longitud ambos como flotantes, la idea es enviar un sms con los dos valores través de sprintf obviamente en un solo mensaje pero no logro crear el empaque para enviarlos, alguna idea, desde ya muchas gracias adjunto el codigo.

code: [select]
float latitude,longitude;

gps.f_get_position(&latitude, &longitude);
gps.stats(&chars, &sentences, &failed_checksum);

char* buffn="";
char* buff="";
  dtostrf(longitude,10,6,buff);
  dtostrf(latitude,10,6,buffn);
  concatenada
   sprintf (string,"latitud: %d|longitud: %d| con s ", buffn,buff);
   serial.println(string);

por favor, echa un vistazo las normas del foro, y aprende manejar un poco los distintos iconos del editor para que tus post tengan un aspecto más adecuado. gracias.

y ahora paso responderte lo que creo que visto.
en primer lugar, los buffers buffn y buff son cadenas vacías, con lo que cuando hagas el dtostrf e intente almacenar algo en ellos, se van desbordar, con consecuencias imprevisibles.
define ambos, bien metiendo entre sus comillas un número de caracteres suficientes para lo que vas enviar, o bien en la forma char buffn[20]; (reservaría 20 caracteres).
y luego, en el sprintf, creo que en lugar de %d deberías poner %s, pues los parámetros son cadenas.
prueba y comentas.
saludos.




Arduino Forum > International > Español > Software (Moderators: surbyte, Hector_A) > Ayuda con sprintf


arduino

Comments

Popular posts from this blog

Error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode - Raspberry Pi Forums

class MPU6050 has no member named begin

missing filename after '-o'