Commencez avec le C intégré avec ATmega32 (série ATmega AVR)


9

J'ai une carte ATmega32 qui traîne et je pense que ce serait parfait pour commencer avec des microcontrôleurs. Une fois, j'ai fait quelques babillards en C intégré (c'est quand j'ai obtenu cette carte) mais le flux a été arrêté à cause de certaines choses. Maintenant, j'ai deux questions:

  1. Quelle est la meilleure ressource gratuite pour commencer avec C pour la série avr. Je connais AVR-GCC mais je cherchais des tutoriels ou des livres gratuits pour me lancer.

  2. Dois-je passer directement à C ou passer par ASM en premier? Je vois qu'il y a beaucoup de livres asm autour. Alors, quelle est une meilleure option?

En cherchant sur Internet, j'ai trouvé le chargeur de démarrage Arduino pour ATmega32 ici http://retrointerfacing.com/?p=30 mais le problème est que j'hésite à faire quelques bricolages avec les bits de fusible et tout. Est-il sûr de le faire?

Réponses:



6

La documentation avr-libc est une excellente source d'informations pour C sur les AVR. En voici un autre .

Personnellement, je préfère travailler en C. L'utilisation de avr-libc vous offre une bonne portabilité du code au sein de la famille AVR. Cependant, si vous faites quelque chose de temporel critique, vous devrez peut-être recourir à l'ASM.

Si vous avez un programmateur AVR parallèle ou «haute tension», vous pouvez toujours reprogrammer les bits de fusible. Si vous utilisez un port série (programmation système, ISP), veillez à ne pas désactiver les bits SPIEN ou RESETENABLE, car cela vous empêcherait de reprogrammer.

Un bouclier de programmation Arduino HV est disponible.


4

Je commencerais par C. Vous pourriez avoir besoin d'un extrait occasionnel d'ASM mais pour la plupart des applications, ce serait à peu près tout. L'exception serait un chargeur de démarrage si vous décidez de lancer le vôtre.

Dave Mellis a mis un tutoriel AVR sur le wiki MIT HLT. Il discute de la configuration des outils pour l'ATmega328 mais cela semble assez générique pour vous aider avec différents appareils. Voir

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

Les bibliothèques et les exemples du site Atmel semblent être bons. J'ai utilisé un certain nombre d'extraits de leurs notes d'application. La bibliothèque I2C (TWI) que j'utilise dans mon code RTC provient du site Atmel.


3

J'irais d'abord avec Arduino. Beaucoup de livres, tutoriels et exemple de code. Et une grande et belle communauté. Ensuite, si vous connaissez Arduino, essayez C avec AVR-GCC.

Je ne peux pas recommander ASM ces jours-ci. Il y a peut-être des coins où vous devrez peut-être utiliser ASM, mais la plupart des choses peuvent être résolues avec du C. simple. C ou C ++.


le problème est qu'il est très difficile d'obtenir un Arduino où j'habite. Je prévois d'en faire un pour moi, mais cela ne fonctionne pas non plus (lire, je n'ai pas le temps).
Rick_2047

si vous avez la possibilité de programmer la puce, vous pouvez y charger le firmware Arduino, puis utiliser la liaison série + le chargeur de démarrage pour les travaux ultérieurs.
gallamine

0

Vous pouvez commencer à partir de la programmation C pour microcontrôleurs par Joe Pardue. Utilisez AVRStudio5 et respectez http://avrfreaks.net , vous pouvez trouver beaucoup de gars sympas et utiles ici.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.