Pages: 1 2 [3]   Go Down
Author Topic: Sviluppo e gestione delle FAQ  (Read 1876 times)
0 Members and 1 Guest are viewing this topic.
ivrea (to)
Offline Offline
Faraday Member
**
Karma: 79
Posts: 4669
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La 2 è lunga da trattare, nei libri ci sono dedicate decine di pagine, ma se consideri l'uso dei puntatori

Secondo me un primo consiglio ai neofiti è che la memoria di Arduino è poca (2K su uno e 8K su mega).
Questo a volte non lo capiscono neppure i programmatori che passano da PC (con molti Gb) a micro.
Poi di preferire i vettori di caratteri (stringhe) all'oggetto String in quanto pesante per i micro.
Poi di lavorare con gli elementi del vettore usando le quadre, ovvero tralasciare inizialmente i puntatori.
Poi un elenco di funzioni utili per lavorare con le stringhe (vettori di caratteri)
esempio:
Esistono funzioni molto più leggere per lavorare con i vettori di caratteri (stringhe) rispetto a String.
- strlen(v) ti dice quanti caratteri ci sono nel vettore (cerca il carattere fine stringa, '\0')
- sizeof(v) ti dice il numero di celle (ricorda   vet[10]  le celle vanno da 0-9)
- memset(v,quanti,valore) per azzerare tutte le celle  es. memset(v,sizeof(v),'\0');
- strncpy() per copiare n caratteri da vettore a vettore es. strncpy(dest,sorg,10);   10 char da sorg a dest
- strcmp() per confronto fra 2 vettori di caratteri  (strncmp() per limitare il numero di caratteri)
- isdigit() per sapere se una cella è una cifra, isalpha() se è una lettera
- passi in rassegna ogni cella con un semplice ciclo for e le parentisi quadre:
Code:
for(int i=0;i<1000;i++)
{ if(v[i]=='X')
  { // trovato X nel vettore v in cella numero i
  }
}
- conversione lower/upper case cella per cella con isupper()/islower() ti dicono se è già in ucase o lcase, poi basta aggiungere o togliere 32
('A' ovvero 65+32= 97 ovvero 'a')   oppure usi toupper()/tolower() ma solo 1 cella alla volta.
- snprintf  accenni a come si usa

Credo che un sunto del genere (scritto meglio, avevo 5 in italiano) potrebbe aiutare
« Last Edit: June 14, 2013, 03:23:49 am by nid69ita » Logged

my name is IGOR, not AIGOR

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 79
Posts: 4669
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Un altro argomento da FAQ mi sembra (almeno in settimana 3 richieste) su come mandare via seriale dati da arduino a processing o comunque ad un programma che stà su PC attraverso la seriale. Che ne dite?
Logged

my name is IGOR, not AIGOR

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Le FAQ devono essere una specie di "primo soccorso". Mi sembra snaturare la funzione stessa delle FAQ infilarci dentro lezioni di programmazione avanzata, tipo l'uso delle funzioni sulle stringhe suggerite da nid.
Mio modesto punto di vista, s'intende  smiley-wink
Logged


ivrea (to)
Offline Offline
Faraday Member
**
Karma: 79
Posts: 4669
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Le FAQ devono essere una specie di "primo soccorso". Mi sembra snaturare la funzione stessa delle FAQ infilarci dentro lezioni di programmazione avanzata, tipo l'uso delle funzioni sulle stringhe suggerite da nid.
Mio modesto punto di vista, s'intende  smiley-wink

Effettivamente troppe info in una sola voce. Magari da quello che ho scritto trarre più FAQ ?
Logged

my name is IGOR, not AIGOR

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Se uno vuole imparare la programmazione:
1) ricorre al Reference del sito
2) si scarica una guida del C
3) si compra un libro.

Le FAQ servono per soluzioni veloci a problemi ricorrenti. Un problema ricorrente è la seriale "tappata" che impedisce l'invio di un nuovo sketch.
Insomma le FAQ servono per questo genere di info.
Logged


ivrea (to)
Offline Offline
Faraday Member
**
Karma: 79
Posts: 4669
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Un qualcosa tipo "convertire da stringa a numero" e viceversa, ad esempio? Questo mi sembra sia stata una domanda posta spesso.
Logged

my name is IGOR, not AIGOR

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sì.
Oppure ad esempio come spedire un numero via seriale.
Logged


0
Offline Offline
Faraday Member
**
Karma: 30
Posts: 2905
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Spero domenica di poter gestire queste FAQ.

Si come ha detto leo la FAQ mira ad ottenere le prime risposte dirette univoche e banali per superare un ostacolo, purtroppo quando si parla di linguaggi di programmazione di univoco c'è poco, se non non usare int se puoi usare byte ecc, ma appena il malcapitato fa una operazione da cui si aspetta il risultato float ma questo invece è intero o 0.0 io non saprei come creare una FAQ per evitare che ciò possa accadergli.

Ho come una sensazione che manca una FAQ che riguarda Leonardo (non da vinci), qualcosa che riguarda la seriale, ma non ho la leonardo.

Ciao.

Dimenticavo la FAQ su quale ATmega comprare, vergine o con bootloader e il collegamento con la guida di menniti.
« Last Edit: June 14, 2013, 05:12:52 pm by MauroTec » Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Si come ha detto leo la FAQ mira ad ottenere le prime risposte dirette univoche e banali per superare un ostacolo, purtroppo quando si parla di linguaggi di programmazione di univoco c'è poco, se non non usare int se puoi usare byte ecc, ma appena il malcapitato fa una operazione da cui si aspetta il risultato float ma questo invece è intero o 0.0 io non saprei come creare una FAQ per evitare che ciò possa accadergli.
Secondo me questo ricade nel campo della programmazione.

Quote
Ho come una sensazione che manca una FAQ che riguarda Leonardo (non da vinci), qualcosa che riguarda la seriale, ma non ho la leonardo.
Io ho la Leonardo, se spieghi il tuo dubbio vedo se ti posso aiutare  smiley-wink

Logged


Pistoia Italy
Offline Offline
Newbie
*
Karma: 0
Posts: 44
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buon giorno a tutti
Io ho programmato per molti  anni, adesso lo faccio solo per piacere.
Da quello che leggo nei post vi sono problemi di programmazione, di elettronica e di pigrizia.
Una FAQ è una risposta veloce ad problema hardware e software ben preciso.
Qui servono dei Reference e dei Tutorial in italiano, e cognizioni di elettronica maggiori.
Molti problemi hardware sono riconducibili al fatto di alimentare i circuiti tramite la porta USB! Ci vuole un alimentatore esterno da almeno 1 A. Imparare a saldare senza fare corti circuiti fra i piedini. Procurarsi un minimo di strumentazione e imparare ad usarla.
Nel mondo del Tutto subito   nessuno vuole pensare troppo e il forum è lì!

Franco
Logged

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 79
Posts: 4669
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Un problema che capita a molti con ethernet shield, fanno pagine web grosse che di sicuro usano tanta ram perchè non utilizzano la funzione F().
Logged

my name is IGOR, not AIGOR

Pages: 1 2 [3]   Go Up
Jump to: