Comience con C integrado con ATmega32 (serie ATmega AVR)

9

Tengo una placa ATmega32 y creo que sería perfecto comenzar con microcontroladores. Una vez hice algunos balbuceos en C incrustado (eso fue cuando obtuve esta placa) pero el flujo se detuvo debido a algunas cosas. Ahora tengo dos preguntas:

  1. ¿Cuál es el mejor recurso gratuito para comenzar con C para la serie avr? Sé de AVR-GCC pero estaba buscando algunos tutoriales o libros gratuitos para comenzar.

  2. ¿Debo saltar directamente a C o pasar por ASM primero? Veo que hay muchos libros asm alrededor. Entonces, ¿cuál es una mejor opción?

Mientras buscaba en Internet, encontré el gestor de arranque Arduino para ATmega32 aquí http://retrointerfacing.com/?p=30 pero el problema es que dudo en hacer algunos ajustes con los bits del fusible y todo. ¿Es seguro hacerlo?

Rick_2047
fuente

Respuestas:

5

Únete a AVR Freaks . Encontrarás muchos recursos y ayuda si te quedas atascado.

Leon Heller
fuente
6

La documentación de avr-libc es una gran fuente de información para C en AVR. Aquí hay otro .

Personalmente, prefiero trabajar en C. Hacer uso de avr-libc le brinda una buena portabilidad de código dentro de la familia AVR. Sin embargo, si está haciendo algo crítico, puede que tenga que recurrir a ASM.

Si tiene un programador AVR paralelo o de "alto voltaje", siempre puede reprogramar los bits del fusible. Si usa serie (Programación en el sistema, ISP), tenga cuidado de no deshabilitar los bits SPIEN o RESETENABLE ya que esto evitará que pueda reprogramar.

Hay un escudo de programación Arduino HV disponible.

Toby Jaffey
fuente
4

Comenzaría con C. Es posible que necesite un fragmento ocasional de ASM, pero para la mayoría de las aplicaciones se trataría de eso. La excepción sería un gestor de arranque si decides rodar el tuyo.

Dave Mellis publicó un tutorial AVR en la wiki de MIT HLT. Habla sobre la configuración de las herramientas para el ATmega328 pero parece lo suficientemente genérico como para ayudarlo con diferentes dispositivos. Ver

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

Las bibliotecas y ejemplos en el sitio de Atmel parecen ser buenos. He usado varios fragmentos de sus notas de aplicación. La biblioteca I2C (TWI) que uso en mi código RTC proviene del sitio Atmel.

jluciani
fuente
3

Yo iría con Arduino primero. Muchos libros, tutoriales y código de ejemplo. Y una excelente y agradable comunidad. Luego, si está familiarizado con Arduino, pruebe C con AVR-GCC.

No puedo recomendar ASM en estos días. Tal vez haya algunos rincones en los que deba usar ASM, pero la mayoría de las cosas se pueden resolver con un simple C. Con ASM puede obtener algunos detalles sobre cómo funciona un microcontrolador, pero si desea que las cosas sucedan más rápido, me quedaría con C o C ++.

tinkerlog
fuente
El problema es que es muy difícil obtener un arduino donde vivo. Estoy planeando hacer uno para mí pero eso tampoco está funcionando (leer no tiene tiempo).
Rick_2047
Si tiene la capacidad de programar el chip, puede cargar el firmware de Arduino en él, luego usar el enlace serie + gestor de arranque para el trabajo posterior.
gallamina
0

Puede comenzar desde la programación en C para microcontroladores por Joe Pardue. Use AVRStudio5 y manténgase en http://avrfreaks.net , puede obtener muchos tipos geniales y útiles aquí.

Bishal Paudel
fuente