Librerie cosa sono , cosa servono e come si usano

Ciao a Tutti ,

sono nuovo del forum e anche su arduino , ho ancora tutto da imparare , ho cercato in giro per il forum e ho anche googlato un pò , ma ... una spiegazione chiara e precisa non l'ho trovata .

la libreria e una parte di codice già preparata per gertire arduino in una funzione ben precisa , e fin qui non ci piove , credo sia così e se non è così spiegatemelo , grazie .

ma come si usano che non ho capito , e non ho trovato una guida un po ben fatta , a prova di uno scemo principiante come me !! :roll_eyes: :roll_eyes: :roll_eyes:

GRazie anticipatamente a tutti quanti .

allora, la libreria è una raccolta di FUNZIONI. Spesso si utilizzano le solite funzioni, quindi si raccolgono in una libreria (un file .h), che può essere inclusa nel programma attraverso
#include "percorsolibreria/nome.h"
non serve specificare il percorso se si trova in uno dei 3 percorsi standard: la cartella libraries di arduino IDE, la cartella libraries nella cartella skecthbook (se non esiste puoi crearla) e infine nella stessa cartella del file .pde (quello che contiene loop() e setup())

Attento che le librerie contengono solo funzioni ma non varibili globali: le classi, invece, sono un diverso modo di programmare (qasi tutte le librerie arduino in realtà sono classi). In pratica sono librerie che oltre che le funzioni contengono anche variabili globali.

grazie per la risposta , ma una domanda , il file .h che non serve specificare il percorso se e uno dei 3 percorsi standard , come lo carico ?
una volta caricato basta citarlo all'inizio #include nome.h
e lui carica la libreria

ti faccio solo notare che io uso mac , ma credo non ci siano grandi differenze .

Grazie ancora

Diego

il C è standard per tutte le architetture, mac, win o linux o embedded, ect..
una volta che hai incluso una libreria, potrai usare le sue funzioni come se fosse una funzione scritta nel tuo codice:
analogRead, digitalWrite etc... sono tutte funzioni contenute in una (beh più di una) libreria!

diegogribaudo:
grazie per la risposta , ma una domanda , il file .h che non serve specificare il percorso se e uno dei 3 percorsi standard , come lo carico ?
una volta caricato basta citarlo all'inizio #include nome.h
e lui carica la libreria

ti faccio solo notare che io uso mac , ma credo non ci siano grandi differenze .

Grazie ancora

Diego

Purtroppo il setting del compilatore GCC eseguito dall'ide arduino non aiuta.
Qualunque vecchio programmatore rimane sconcertato.
Figurati te.
Usa AVR4 Studio per imparare, almeno nel modo corretto.
Poi approcci l'ambiente con un altro spirito.
Lo dice uno che è sulla breccia dai primi del settanta, National SCMP.....

:grin:

Quindi le librerie una volta citate fan parte del codice .

bene , Grazie per questa spiegazione , mentre ciò che mi consiglia LESTO e utilizzare un altro compilatore giusto ?

AVR4 studio , che sarebbe ?

e open ?

dove lo posso recuperare ?

E meglio per quale motivo ?

Grazie ancora .

ma AVR4 studio e un compilatore per microprocessori nudo e crudo , per win ?

giusto ?

AVR Studio non c'è però per Linux e Mac, solo per Win... grave mancanza.

MA è opensource ?

no, direi proprio che non è opensource :slight_smile:
fra l'altro è da poco uscito il 5 di avr studio...

Qualcuno sa dirmi come trasformare in libreria i sorgenti che hanno messo nel thread dei sensori di distanza?
http://arduino.cc/forum/index.php/topic,53715.150.html

l'ho già fatto ieri notte... e se dai un'occhiata al codice non è stato poi così facile :slight_smile: