Comece com C incorporado com ATmega32 (série ATmega AVR)


9

Eu tenho uma placa ATmega32 por aí e acho que seria perfeito começar com microcontroladores. Certa vez, fiz algumas tagarelas no C incorporado (foi quando recebi esta placa), mas o fluxo foi interrompido devido a algumas coisas. Agora eu tenho duas perguntas:

  1. Qual é o melhor recurso gratuito para começar com C para a série avr. Conheço o AVR-GCC, mas estava procurando alguns tutoriais ou livros gratuitos para começar.

  2. Devo pular diretamente para C ou passar pelo ASM primeiro? Vejo que existem muitos livros de ASM por aí. Então, qual é a melhor opção?

Ao pesquisar na Internet, encontrei o carregador de inicialização do ATmega32 do Arduino aqui http://retrointerfacing.com/?p=30, mas o problema é que hesito em fazer alguns ajustes nos bits de fusível e tudo. É seguro fazer isso?

Respostas:



6

A documentação do avr-libc é uma excelente fonte de informações para C em AVRs. Aqui está outro .

Pessoalmente, prefiro trabalhar em C. O uso do avr-libc fornece uma boa portabilidade de código na família AVR. No entanto, se você estiver fazendo algo em um momento crítico, pode ser necessário recorrer ao ASM.

Se você tiver um programador AVR paralelo ou de "alta tensão" , poderá sempre reprogramar os bits do fusível. Se você estiver usando serial (In-System-Programming, ISP), tenha cuidado para não desativar os bits SPIEN ou RESETENABLE, pois eles impedirão a reprogramação.

Existe um escudo de programação Arduino HV disponível.


4

Eu começaria com C. Você pode precisar de um trecho ocasional do ASM, mas para a maioria dos aplicativos. A exceção seria um gerenciador de inicialização, se você decidir criar o seu próprio.

Dave Mellis colocou um tutorial sobre AVR no wiki do MIT HLT. Ele discute a configuração das ferramentas para o ATmega328, mas parece genérico o suficiente para ajudá-lo com diferentes dispositivos. Vejo

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

As bibliotecas e exemplos no site da Atmel parecem bons. Eu usei vários trechos de suas notas de aplicativos. A biblioteca I2C (TWI) que eu uso no meu código RTC vem do site Atmel.


3

Eu iria primeiro com o Arduino. Muitos livros, tutoriais e código de exemplo. E uma comunidade ótima e agradável. Então, se você está familiarizado com o Arduino, experimente o C com o AVR-GCC.

Não posso recomendar o ASM hoje em dia. Talvez existam alguns cantos em que você possa ter que usar o ASM, mas a maioria das coisas pode ser resolvida com C. simples. Com o ASM, você pode aprender alguns detalhes sobre como um microcontrolador está funcionando, mas se você quiser fazer as coisas acontecerem mais rapidamente, eu continuaria C ou C ++.


problema é muito difícil de obter um arduino onde eu moro. Estou planejando fazer um para mim, mas isso também não está funcionando (a leitura não tem tempo).
23410 Rick_2047

se você tem a capacidade de programar o chip, pode carregar o firmware do Arduino nele e usar o link serial + o gerenciador de inicialização para trabalhos subseqüentes.
gallamine

0

Você pode começar pela programação C para microcontroladores, Joe Pardue. Use o AVRStudio5 e siga o http://avrfreaks.net , você pode encontrar muitos caras legais e úteis aqui.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.