Guide e libri per embedded C

Salve a tutti,
ho imparato il linguaggio Arduino con un Arduino UNO e ora vorrei passare alla programmazione di AVR in C.
Dopo svariate ricerche sono riuscito a trovare soltanto libri e guide in inglese e spesso riguardanti un solo IDE(AVRStudio ecc.).
Ho provato anche a guardare video su YouTube ma mi sono bloccato su alcuni argomenti come l'ADC.
Chiedo a voi se potete consigliarmi guide, libri o video tutorial con cui vi siete trovati bene e che spieghino in maniera esaustiva la programmazione in C degli AVR.

Dopo svariate ricerche sono riuscito a trovare soltanto libri e guide in inglese e spesso riguardanti un solo IDE(AVRStudio ecc.).

In Italiano non ho trovato mai nulla, in inglese c'è l'imbarazzo della scelta. Senza Inglese non vai lontano, purtroppo è così.
Tu invece che IDE vuoi usare?

Io non ho OS Windows, quindi non posso usare AVRStudio e mi sono arrangiato con QtCreator che però non è direttamente usabile, è stato necessario adattare i file di configurazione per AVR. Tu potresti usare Eclipse con il plugin AVR.

Io non posso sapere se sei pronto per passare allo sviluppo C nudo e crudo, non so se lo sai:
In C non esiste digitalWrite o altra funzione, ci sono gli operatori bitwise e alcune macro.
In C si specifica il nome della porta e il bit.
In C la seriale non funziona e devi scriverti tu una routine, stessa cosa per TWI/I2C,timer, PWM.

Più che seguire un libro o una guida, legati ad un IDE, ti consiglierei di non scoraggiarti difronte lo studio:

  • Dell'inglese.
  • Del C (acquistando un libro).
  • Del compilatore GCC.
  • Non pensare ad AVR, ma al C su PC.

Ovviamente dopo questo tutte le guide che trovi in rete ti saranno maggiormente comprensibili.
Mi fermo qui perché altrimenti lo scoramento è inevitabile. :wink:

Atmel consiglia come IDE IAR compilatore incluso.

Ciao.

Grazie, scusami se rispondo solo ora ma ho avuto problemi con la connessione.
Non ho specificato che ho seguito un corso universitario sui fondamenti del C e ho imparato in parte a programmare un atmega328 in C con l'IDE Arduino su MAC con la guida Male: AVR Programming ma mi sembrava un po' troppo mirare a conoscenze per la realizzazione di progetti hobbystici piuttosto che un manuale per conoscere bene come funzionano gli AVR in maniera approfondita per poter progammare più o meno a livelli professionali

Heisenberg94:
piuttosto che un manuale per conoscere bene come funzionano gli AVR in maniera approfondita per poter progammare più o meno a livelli professionali

Non esiste un simile manuale, esiste il linguaggio C, che è uguale per tutti i micro, pc inclusi, esiste il data sheet del micro e l'eventuale reference manual, non è detto che ci sia, più le varie application note rilasciate dal produttore, inoltre per ogni famiglia di micro c'è il reference manual per la programmazione, esclusivamente in assembly, questo assieme di cose sono la bibbia e i vangeli per imparare ad usare un micro al 100%.
Tutto il resto è solo fuffa, non buttare i soldi su testi per principianti perché non insegnano nulla, testi per professionisti non esistono in quanto ne ne hanno bisogno, la documentazione rilasciata dal produttore basta e avanza :slight_smile:
L'IDE, p.e. Atmel Studio, è solo un ambiente di lavoro, ha ben poco a che vedere con la reale programmazione, serve solo ad unificare in una unica interfaccia i vari strumenti e ne semplifica l'uso, invece di dover digitare righe su righe piene zeppe di parametri clicchi su un bottone che avvia un comodo script che fa tutto in automatico.

Una cosa che magari si avvicina un po' a quanto richiesto da Heisenberg94 potrebbe essere "Embedded C Programming and the Atmel AVR", vecchio libro del 2007 (ISBN-13: 978-1-4180-3959-2, ISBN-10: 1-4180-3959-4) ...

Allego in pdf le prime pagine con l'indice ... tanto per far capire di quale libro parlo.

Forse riesce ancora a trovarlo da qualche parte ... ::slight_smile:

Embedded C Programming and the Atmel AVR (Index).pdf (387 KB)

In linea di massima le cose stanno come dice astrobeed.

Tutto il resto è solo fuffa, non buttare i soldi su testi per principianti perché non insegnano nulla, testi per professionisti non esistono in quanto ne ne hanno bisogno, la documentazione rilasciata dal produttore basta e avanza :slight_smile:

Quando hai raggiunto un livello di competenze che ti permette di cavartela in ogni situazione, può tornare utile leggere qualche libro che ti mostra un altro punto di vista, ti suggerisce alcune best pratice motivandole, insomma un libro che ti allarghi gli orizzonti. Già a questo livello, leggere codice scritto da altri è anche meglio che leggere un libro.

Indubbiamente sei rimasto affascinato, ma quello che vedi è solo lo strato superiore paragonabile al volo a bassa quota effettuato su una città. Vedi la gente, le auto, i ponti, semafori ecc, ma nulla sai di come sono fatte. Ciò che ho elencato prima (la gente ecc) le possiamo paragonare a Serial, digitalWrite e tutte le altre semplificazioni offerte da Arduino.

Senza volerti scoraggiare ti sconsiglio di intraprendere lo studio senza prima essere in grado di leggere l'inglese tecnico. Puoi comunque acquistare qualche libro di informatica base in italiano che in unione alla conoscenza dell'inglese ti permette di leggere il datasheet del microcontroller capendone qualcosa.

Ciao.