Inizia con C incorporato con ATmega32 (serie ATmega AVR)


9

Ho una scheda ATmega32 in posa e immagino che sarebbe perfetto iniziare con i microcontrollori. Una volta ho fatto dei borbottii nella C incorporata (questo è quando ho ottenuto questa scheda) ma il flusso è stato interrotto a causa di alcune cose. Ora ho due domande:

  1. Qual è la migliore risorsa gratuita per iniziare con C per la serie avr. Conosco AVR-GCC ma cercavo tutorial o libri gratuiti per iniziare.

  2. Devo passare direttamente a C o passare prima attraverso ASM? Vedo che ci sono molti libri asm in giro. Quindi qual è un'opzione migliore?

Durante la ricerca in Internet, ho trovato il bootloader di Arduino per ATmega32 qui http://retrointerfacing.com/?p=30 ma il problema è che esito a fare qualche armeggiamento con i bit dei fusibili e tutto il resto. È sicuro farlo?

Risposte:



6

La documentazione avr-libc è una grande fonte di informazioni per C su AVR. Eccone un altro .

Personalmente, preferisco lavorare in C. L'uso di avr-libc ti offre una buona portabilità del codice all'interno della famiglia AVR. Tuttavia, se stai facendo qualcosa di critico nei tempi, potresti dover ricorrere ad ASM.

Se si dispone di un programmatore AVR parallelo o "ad alta tensione", è sempre possibile riprogrammare i bit dei fusibili. Se si utilizza seriale (In-System-Programming, ISP), fare attenzione a non disabilitare i bit SPIEN o RESETENABLE poiché questi impediranno di poter riprogrammare.

È disponibile uno schermo di programmazione Arduino HV .


4

Vorrei iniziare con C. Potresti aver bisogno di uno snippet occasionale di ASM ma per la maggior parte delle applicazioni che lo riguarderebbero. L'eccezione sarebbe un bootloader se decidi di creare il tuo.

Dave Mellis ha pubblicato un tutorial AVR sul wiki MIT HLT. Discute la configurazione degli strumenti per l'ATmega328 ma sembra abbastanza generico da aiutarti con diversi dispositivi. Vedere

http://hlt.media.mit.edu/wiki/index.php/AVR_Programming

Le biblioteche e gli esempi sul sito Atmel sembrano essere buoni. Ho usato un certo numero di frammenti dalle loro note app. La libreria I2C (TWI) che utilizzo nel mio codice RTC proviene dal sito Atmel.


3

Andrei prima con Arduino. Molti libri, tutorial e codice di esempio. E una grande e simpatica comunità. Quindi, se hai familiarità con Arduino, prova C con AVR-GCC.

Non posso raccomandare ASM in questi giorni. Forse ci sono alcuni angoli in cui potresti dover usare ASM ma la maggior parte delle cose può essere risolta con il semplice C. Con ASM puoi imparare alcuni dettagli su come funziona un microcontrollore, ma se vuoi far accadere le cose più velocemente, mi atterrei a C o C ++.


il problema è che è molto difficile ottenere un arduino in cui vivo. Sto pensando di crearne uno per conto mio, ma anche quello non funziona (leggi non ho tempo).
Rick_2047

se hai la possibilità di programmare il chip, puoi caricare il firmware Arduino su di esso, quindi utilizzare il collegamento seriale + bootloader per i lavori successivi.
Gallamina,

0

Puoi iniziare dalla programmazione in C per i microcontrollori di Joe Pardue. Usa AVRStudio5 e segui http://avrfreaks.net , qui puoi trovare molti ragazzi simpatici e disponibili.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.