Go Down

Topic: tutorial di programmazione non terra-terra (Read 585 times) previous topic - next topic

paolometeo

Salve, pur lavorando con arduino da un po' di tempo, ho ancora difficolta' nella programmazione. Ad esempio un argomento sul quale non ho trovato molto aiuto e' quello delle funzioni. In particolare il passaggio di variabili, array con dimensioni...ecc. E' vero che potrei leggermi un bel libro di C da 1000 pagine  =(, ma francamente ... non ho piu' l'eta'.
Qualcuno mi sa indicare qualche bel tutorial??  Di quelli che ti spiegano step by step come si fa ad accendere un led, pero' sulla programmazione.
grazie

ratto93

mah in rete non saprei se vuoi però posso darti il nome di un testo di C di 300|400 pagine...
Se corri veloce come un fulmine, ti schianterai come un tuono.

lesto

leggiti qualcosa sui puntatori, mi sa che son loro il tuo tallone di achille :-)

HTML.it ha delle buone guide in italiano, semplicemente salta i capitoli che non ti interessano :)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

nikel90

io ho imparato a programmare senza nemmeno mai guardare un libro (si forse un libro di turbo pascal oramai 6-7 anni fa)
ora programmo in c,c# e a volte java... una volta che conosci la logica è sufficiente guardare programmi gia scritti e imparare da quelli ciò che ti serve!

paolometeo

Per fare un'esempio... Come faccio a passare un array in una funzione?  Scrivo qui di seguito un esempio:

char Stringa[20] = "topolino";
void setup(){
...
}
void loop  {
....
n = myfunction(Stringa[]);
}

int myfunction(char Pippo[20]){
int k...;
....
return k;
}

lesto

vedi, un array è un puntatore. E i puntatori sono una bella bestia del C, però se li domini impari a capire tante cose.


int myfunction(char Pippo[20]) è sbagliata, probabilmente neanche compila; tu ti aspetti un array, ovvero un puntatore alla prima cella di memoria dell'array "fisico" nella ram.

quindi la versione corretta è:
int myfunction(char Pippo[])

oppure (che è la stessa identica cosa)
int myfunction(char *Pippo)

myfunction(Stringa[]); è errato, perchè [] non ha senso (o meglio, non in questo contesto); la versione corretta è myfunction(Stringa); (non chiamare le variabili con le lettere maiuscole: si confondono con le dichiarazione di oggetti...)

credimi, studiati i puntatori che fanno tanto bene all'anima :)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

paolometeo

OK, mi hai convinto! Però non sarebbe male un bel tutorial su questo argomento. Forse è difficile farlo senza una base solida di C?
grazie comunque


lesto


Forse è difficile farlo senza una base solida di C?


diciamo che i puntatori SONO le basi del C. E che per studiarli più che buone basi di programmazione, bisogna avere una mezza idea di cosa succede "dietro le quinte", ovvero in ram
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up