Aiuto conversione interi in testi

Ho verificato che l'istruzione itoa nel mio sw che prevede un webserver basato su enc28j60 funziona ma evidentemente sporca dei registri nella libreria del webserver ed il caricamento di successive pagine è impedito

Conoscete alternative per convertire interi in stringhe?

static char* stringa = "";
itoa(H_Accensione,stringa,10);

Ciao,

se utilizzi itoa con un numero a base 10 devi avere un buffer sufficientemente amplio da includere il massimo numero che avrai, il segno ed il terminatore di stringa.
Per un intero (-32768 <-> 32767) hai bisogno di un buffer di 7 caratteri.

int mioint ;
char buf[12]; // “-32768\0”
itoa(mioint, buf, 10);

In alternativa si puo’ utilizzare

sprintf(str,"%d",value)

oppure puoi utilizzare la libreria PString per fare manipolazioni con le stringhe di testo
http://arduiniana.org/libraries/pstring/

Vedi esempio

char buffer[50];
PString mystring(buffer, sizeof(buffer));
char name[] = "Joe";
int age = 45;

mystring.print("Hi, my name is ");
mystring.print(name);
mystring.print(" and I am ");
mystring.print(age);
mystring.println(" years old.");

Ciao,
Marco.

Grazie Marco,
ho risolto usando sprintf.

Un paio di domande. E' appena tre giorni che ho l'arduino.

Pensavo che tutte le istruzioni fossero contenute nella sezione Referece del sito ufficiale ma le funzioni ITOA e STRINTF non le trovo. Dove posso trovare un elenco e la descrizione di tutte le funzioni disponibili?

Uso Arduino Mega e scheda Ethernet enc28j60 presa su ebay. Ho notato che si possono creare solo pagine web elementari di piccole dimensioni perchè vanno in crisi le routine che gestiscono il server web o sono ridotte le risorse dell'arduino. Ti risulta?

Volevo crearmi un sito con una pagina per controllare l'acquario ma secondo me per quello che vedo sarò costretto a creare molte pagine con all'interno una o due variabili ciascuna

Grazie e ciao
Carlo

Ciao,

allora per quanto riguarda le funzioni e librerie che si possono utilizzar equeste vanno oltre l'Arduino reference.

Alcune librerie le trovi gia' presenti nell'ambiente Arduino, mentre altre le trovi nel sito nella sezione Playground in genere dove vengono descritti come interfacciarsi a certi hardware, software, ecc. , oppure in giro per la rete.

Poi vi sono le funzioni della libreria AVR libc la cui documentazione si trova nella sottocartella dell' IDE di Arduino "hardware\tools\avr\doc\avr-libc".
Vi e' il manuale PDF avr-libc-user-manual.pdf oppure nella cartella avr-libc-user-manual quello HTML (a volte ci si trova meglio nel consultare quello HTML che PDF).

Le funzioni che ti offre un insieme fatto da hardware + l'IDE Arduino con le sue funzioni sono di gran lunga piu' facili da utilizzare rispetto a quelle standard della libreria C (e di gran lunga rispetto all'assembler).
Di questa libreria puoi praticamente utilizzare tutto.

Per quanto riguarda acquari guardati questi link

Per quanto riguarda il webserver... beh le risorse di Arduino sono limitate, per cui non puoi delle applicazioni piuttosto limitate, ma comunque valide.

In alternativa puoi avere le pagine vere e proprie (con un linguaggio di scripting come PHP + database, ecc.) su un server tradizionale e poi da questi comunicare con la'rduino solo per avere i dati ed inviare i comandi.
Sfrutti, ad esempio, il protocollo HTTP per il trasporto dei dati da e per l'Arduino.
Vedi ad esempio come fanno a collegare Arduino col servizio online Patchube (http://www.pachube.com/).

Ad esempio i dati possono essere codificati come dati JSON (piu' leggero rispetto ad XML).
http://arduino.cc/blog/2010/11/15/ajson-the-arduino-json-library-is-released-in-v1-0/

Pur ottenendo gli stessi risultati vi sono molti modi di fare la stessa cosa.

Ciao,
Marco.