gamby:
Ottimo! grazie per le delucidazioni!
In ogni caso mi fa piacere che tu dica le cose come stanno... Ormai ho capito che è inutile scrivere programmi bypassando i problemi sfruttando pezzi di codice trovati qua e la... Vista l'esperienza con questo MCP23S17 mi sembra chiaro che è meglio andare a fondo e capire cosa c'è dietro a un semplice programmino di 10 righe.Un paio di riflessioni tra me e me, anche se il thread tratta di tutt'altro.
Partiamo dall'IDE... Personalmene ho provato un po' di tutto sia per quanto riguarda i sistemi operativi sia per l'ambiente di programmazione: per il primo corso di C ho usato il vecchio Dev-C++ sotto windows, ma in quella fase era veramente solo questione di scrivere qualche ciclo e eseguire operazioni di base.
Dopodichè sono passato a linux e per il corso più "evoluto" consigliavano di scrivere il programma con uno dei vari editor standard di linux (Vim,nano,gedit e simili) e compilare con GCC. Ho poi provato per qualche tempo eclipse, più per curiosità che per necessità.
Ora sono principalmente su MacOS, anche se ho a disposizione ancora linux su macchina virtuale e windows su una partizione secondaria.
La scelta più ovvia sarebbe continuare ad usare eclipse sotto MacOS.Non ho però capito come dovrei utilizzare un IDE diverso da Arduino. Sarebbe soltanto un'interfaccia più completa da sostituire alla solita interfaccia standard "verde e bianca" oppure mi permetterebbe di sviluppare tutto il software, compilarlo e caricarlo sulla scheda sempre dalla stessa interfaccia? Mi sembra di intuire che dovrei caricare tutte le librerie di Arduino nel nuovo IDE, ma non capisco come un diverso IDE si dovrà interfacciare con la scheda Arduino connessa al mio PC.
Mi sono spiegato male o hai capito male ma non importa il risultato sempre quello è.
Consigli:
Trova un IDE decente con cui ti trovi bene, questo deve essere in grado di avviare il compilatore nativo, cioè crea codice per la piattaforma su cui è eseguito il compilatore e l'ide. Io uso GNU/Linux e come ide uso QtCreator.
Deve essere in grado di avviare il compilatore nativo:
Il compilatore nativo genera codice per la stessa piattaforma su cui viene eseguito, detto alla carlona "compili codice che gira
sul PC.
Il compilatore non nativo è il cross-compiler il quale "gira" sul PC ma genera codice binario per una piattaforma diversa dal PC.
Si è più semplice dire che avrgcc gira sul pc e genera codice binario specifico per architettura AVR quindi è un cross-compiler.
Però avrgcc può anche essere compilato per girare su architettura "ARM" e quindi può essere eseguito su ARM ma genera codice per AVR.
Insomma nel cross-compiler la piattaforma su cui viene eseguito e diversa da quella per il quale genera codice binario.
Quindi io non ti ho consigliato di cambiare IDE per arduino, ma ti consiglio di usare il PC per testare codice che poi andrai a compilare con arduino. In questo modo per prendere confidenza con le classi ecc non devi flashare ma basta che usi le printf del C
o cin cout di C++ per fare debug. Puoi testare le bitwise, le macro, i calcoli per settare i timer ecc.
Per Mac puoi usare anche QtCreator come pure per windows, solo che per linux tutto si risolve con l'installazione di pacchetti pronti, per Mac e windows non credo che sia così immediato, in quanto mancano tutte le dipendenze, cioè il compilatore gcc per windows o Mac, make ecc che mi pare si trovino tutte in un unico file compresso da scaricare e sistemare nel filesystem manualmente. Mentre per Qt e QtCreator ci sono gli exe autoinstallanti e per Mac non lo so.
Ciao.