Por que usar o Eclipse como IDE para o WINAVR?
Eclipse é uma IDE muito moderna, com muitas funções. E sendo uma IDE de código aberto ela é muito suportada e documentada por muita gente e muitas outras características como o plugin que usaremos existem para estender ainda mais sua funcionalidade.
Outra grande vantagem é escapar do incomodo makefiles, usando o Eclipse sua aplicação é automaticamente criada e até gravada no microcontrolador com o auxílio do AVRdude.
Para usarmos o ECLIPSE utilizaremos um plugin que nos permite utilizar o AVR-GCC como compilador. Mais informações sobre o plugin podem ser achadas na página do desenvolvedor Thomas Holland.
Instalando o WinAVR, Eclipse e o plugin.
Faça download dos seguintes softwares:
ECLIPSE
PLUGIN PARA UTILIZAR O WINAVR-GCC COMO COMPILADOR PARA O ECLIPSE
WINAVR
JAVA
O primeiro passo é instalar o WinAVR no diretório padrão c:winavrxxxxx o procedimento é de sempre clique em avançar/ok até a conclusão da instalação.
Agora instalaremos o ECLIPSE, ele não vem com um setup é só extrair em qualquer local. Por preferências pessoais eu instalei na pasta C:
O plugin também não requer nenhuma atenção especial, somente extraia ele na pasta do ECLIPSE que no meu caso é C:eclipse-cpp-helios-win32eclipse
A maioria dos computadores já possui a run time do JAVA instalada, se você não tiver ou caso não saiba que tem é só executar o executável na pasta do Eclipse, caso uma mensagem de erro aparecer instale o JAVA e novamente tente abrir o ECLIPSE o procedimento para instalar o JAVA é o de sempre clique em avançar/ok até a conclusão da instalação.
Agora poderemos começar a trabalhar com nossa nova IDE, vá na pasta do ECLIPSE e execute o programa eclipse.exe.
Assim que o programa carregar clique me File > New e então selecione C Project.
Selecione AVR Cross Target Application, no lado direito você verá o AVR-GCC como Toolchain, em Project name coloque pisca e clique em next para mudar para a próxima janela.
Na nova janela só desmarque a opção de DEBUG e clique em finish.
Mudanças posteriores serão feitas em Project > Properties.
A janela de trabalho será está:
Nosso próximo passo e criar um arquivo.c para darmos inícios ao trabalho, clique com o botão direito em pisca e vá em New > File e digite como nome pisca.c
Clique agora no menu superior Project > Properties
E faça as seguintes alterações:
Selecione C/C+++ Build na lista a esquerda
A sua direita mude a configuração para Release como mostrado na figura abaixo
No menu a esquerda clique em AVR > Target Hardware e escolha o micro que você deseja trabalhar e seu clock. No meu caso será um ATmega16 a 1Mhz.
Agora no mesmo menu a esquerda clique em AVR > AVRDude clique em edit e selecione o seu programador ou o protocolo que ele segue, novamente no meu caso será o STK500, conforme imagem abaixo:
Clique em OK e OK novamente para sair das configurações.
Cole o seguinte código no editor:
#include <avr/io.h>
#include <avr/delay.h> // Header da função delay
void main (void)
{
DDRB=0xFF; // Data Direction Register porta D setada como output
while(1) // O bloco do while se repetira eternamente enquanto for verdadeiro
{
for (signed int i=1; i<=128; i*=2) // Inicia uma contagem e executa as declarações do bloco enquanto verdadeiro
{
PORTB=i;
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
}
for (signed int i=1; i<=128; i*=2) // Inicia uma contagem e executa as declarações do bloco enquanto verdadeiro
{
PORTB=~i; // ~ comlementa os bits da porta. Exemplo i=0011 ~i=1100
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
_delay_loop_2(5000);
}
}
}
Salve tudo clicando no ícone Save All e depois vá em Project > Build Configurations > Set Active > Release e finalmente compile clicando no ícone Build All. Aparecerá 3 Warnings, as desconsidere.
Agora você tem duas opções ou grava no microcontrolador utilizando direto o AVRDude pelo eclipse ou use o AVR Studio ou outro programa similar. Para gravar direto com o AVRDude clique no ícone
Resultado final no meu Kit STK500
Video YouTube: