Informazioni IDE e programmazione Arduino

Salve a tutti, mi sono appena iscritto al forum e sto cercando di capire meglio come utilizzare gli strumenti messi a disposizione per la programmazione delle schede Arduino, mi sto affacciando ora a questo mondo.
Dalla mia piccola esperienza con altri tipi di microcontrollori, sono rimasto davvero colpito dalla libreria Wiring di Arduino, che permette con poche chiamate a funzioni di utilizzare l'hardware in maniera semplice.
Ho però alcuni dubbi, che vorrei eliminare prima di acquistare l'Arduino Mega ADK :

  1. Il software Arduino, basato su Processing, permette:

A- Di includere librerie esterne da quelle pensate per Arduino cioè quelle che si possono trovare nella pagina http://arduino.cc/it/Reference/HomePage ? Per esempio se volessi usare -anche senza un senso logico- stdio.h , string.h , time.h ecc.. cioè tutte le librerie tipiche dell'ANSI C potrei farlo? Inserendo semplicemente la direttiva #include oppure vanno trattate in modo particolare?

B- Posso settare bit di registri su Processing? Nel void setup() potrei ad esempio inizializzare la seriale con Serial.Begin() e poi impostare il registro PORTB manualmente? La mia domanda quindi è: è possibile "mischiare" i due tipi di programmazione?

  1. Nel caso Processing non permetta la flessibilità di sopra, programmando l'arduino in "puro C" (ho visto che posso usare eclipse e la toolchain AVR), come se scrivessi codice per il micro Atmel, potrei includere le funzioni di libreria del c/wiring costruite per arduino (se non sbaglio è Arduino.h) per usare l'hardware in maniera più semplice? (ritorna quindi la domanda "B" però ora applicata su un diverso IDE (eclipse) :slight_smile: )

Spero di essere stato chiaro e di non avere detto molte fesserie, putroppo sono un niubbo su arduino e le interessanti caratteristiche del linguaggio Wiring sono superlative perchè permettono una prototipizzazione davvero veloce.
D'altro canto non mi è chiaro se il loro uso sia univoco cioè o si usa la wiring e si abbandona l'accesso a "basso livello" al micro oppure non usando la wiring si usa arduino come un micro tradizionale cioè impostando a mano tutti i registri ecc...
Mischiare i due aspetti sarebbe fantastico , sia questo possibile con processing o con un altro IDE.

Grazie in anticipo per le risposte.

risposte:
1A) Arduino si programma in C++, percui anche ANSI C funziona.
1B) se sai cosa fai e come funziona sí, puoi usare direttamente i registri del ATmega e puoi anche inserire codice macchina.
2) non so deve risponderti qualcun altro. Ma penso che la risposta 1B fa cadere questa necessitá.
Arduino nasconde tante cose perché é pensato per chi non é programmatore ma le cose ci sono e puoi usarle.
Ciao Uwe

uwefed:
risposte:
1A) Arduino si programma in C++, percui anche ANSI C funziona.
1B) se sai cosa fai e come funziona sí, puoi usare direttamente i registri del ATmega e puoi anche inserire codice macchina.
2) non so deve risponderti qualcun altro. Ma penso che la risposta 1B fa cadere questa necessitá.
Arduino nasconde tante cose perché é pensato per chi non é programmatore ma le cose ci sono e puoi usarle.
Ciao Uwe

Grazie per la veloce risposta :slight_smile:

Ovviamente il punto 2) non è necessario se 1B) risulta confermato! Che necessità ci sarebbe di andare ad impazzire per gestire manualmente la compilazione del codice ed impostare un altro IDE, se Arduino-Processing IDE è già bello è pronto? :slight_smile:

Scusa se insisto, ma è abbastanza importante per me il punto 1B) perciò ti chiedo: hai mai avuto esperienze dirette per il punto 1B) ?
Ad esempio per controllare dei servo, ho visto che c'è la libreria servo.h scritta per Arduino, ma essa funziona presupponendo l'uso di Servo "standard"(posso impostare solo il grado di rotazione e non duty cicle ecc.., se non sbaglio), ovviamente non ci dovrebbero essere problemi di compatibilità, ma se volessi cambiare qualche registro che controlla il pwm del micro atmel, ad esempio per impostare il registro del periodo di pwm, potrei quindi farlo scrivendo NomeRegisto = valore(esadecimale) nell'IDE Arduino-processing?

soddisfatto?
Ciao Uwe

Mille mille grazie, mi hai tolto un grande dubbio!
Grazie :wink:

non c'é di che.
Ciao Uwe