sintassi ITOA

Ciao,

Mi servirebbe una mano per capire la sintassi dell'ITOA, qualcuno mi può fare un esempio?

avrei bisogno che il software mi creasse una stringa, nell'esempio dell'MPU6050, così composta "ax(testo)123456(valore int)ay(testo) 123456(valore int), e così via, fino all'esaurimento dei dati......

Come modifico il codice e sostituisco il serial print?

Ho fatto un po' di ricerce su google, ma non riesco a capire, se mi fate un esempio, in modo che mi rimanga e possa utilizzarlo in futuro, ve ne sarei grato.....

Buona giornata!

e grazie per l'aiuto che mi darete

#include "I2Cdev.h"
#include "MPU6050.h"

    #include "Wire.h"
MPU6050 accelgyro;

int16_t ax, ay, az;
int16_t gx, gy, gz;




void setup() {
        Wire.begin();
    Serial.begin(38400);

    accelgyro.initialize();

    
}

void loop() {
    accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

        Serial.print("a/g:\t");
        Serial.print(ax); Serial.print("\t");
        Serial.print(ay); Serial.print("\t");
        Serial.print(az); Serial.print("\t");
        Serial.print(gx); Serial.print("\t");
        Serial.print(gy); Serial.print("\t");
        Serial.println(gz);
    
}

Il mio consiglio è quello di utilizzare la libreria PString. Rende queste cose decisamente più semplici e più Arduino-style.

Grazie mille SukkoPera, dovrebbe essere quello che cerco. adesso la provo.

Due domande, se posso: E' obbligatorio definire la grandezza del buffer? (al momento non ho idea do quanti dati debba metterci dentro.....work in progress :) )

il comando str.begin(); mi svuota totamente la stringa o, paragonandola ad un nastro, la riavvolge per cui se io sovrascrivo meno caratteri, i dati non sovrascritti me li ritrovo vecchi?

In alternativa puoi usare la sprintf() del C, molto efficiente e usi un normale array statico senza scomodare gli string che è sempre meglio evitare sui i piccoli micro 8 bit con poca ram.

Sì, è obbligatoria, ma non ti preoccupare, se anche la superi la stringa viene troncata, non c'è rischio di overflow.

begin() si può dire che svuoti totalmente la stringa, non ti ritroverai mai i dati vecchi.

PS: PString non usa alcuna String al suo interno, proprio per questo il buffer va dichiarato staticamente ed esternamente.

SukkoPera: PS: PString non usa alcuna String al suo interno, proprio per questo il buffer va dichiarato staticamente ed esternamente.

Mai usato PString, preferisco manipolare direttamente gli array, se lavora con array statici è ok. :)

In verità è un'ottima libreria per chi è abituato alle API di Arduino e, in particolare, a usare Serial.print().

Senza contare che, dato che il grosso del lavoro lo fanno i metodi della classe Print che, se si usa la Serial, sono già stati inclusi, la sua occupazione di risorse è davvero minima, al contrario di sprintf().