Concordo com o zklapow, mas verifique também a seção de projetos no AVR Freaks. Foi assim que aprendi no dia anterior aos arduinos. Além disso, você quase certamente precisará ler a folha de dados do seu chip para obter qualquer coisa útil. Não há funções agradáveis que, por exemplo, leiam um pino analógico porque existem muitos parâmetros que o ambiente do arduino esconde de você. Deixe-me lhe dar um exemplo:
int ledPin = 13; // LED connected to digital pin 13
// The setup() method runs once, when the sketch starts
void setup() {
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT);
}
// the loop() method runs over and over again,
// as long as the Arduino has power
void loop()
{
digitalWrite(ledPin, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(ledPin, LOW); // set the LED off
delay(1000); // wait for a second
}
é aproximadamente semelhante ao seguinte C (não testado):
int main(void) {
// I just randomly picked pin 6 on PORTB, this may not be the same on an arduino
DDRB = (1<<6); // set pin to output in data direction register
int i; // have to do this outside the for loop because of C standard
while(1) {
PORTB |= (1<<6); // send pin 6 high and leave other pins in their current state
for (i=0; i<10000; i++); // delay
PORTB &= ~(1<<6); // send pin 6 low
for (i=0; i<10000; i++); // delay
}
}
Claro, existem funções de atraso em algumas bibliotecas e pode haver funções de saída em outras, mas acostume-se a escrever códigos como este. A única maneira de saber o que significa esse material PORTB e DDRB é ler a folha de dados. Lamento falar sobre isso, mas poucas pessoas percebem que a folha de dados é uma mina de ouro para obter informações.
Você também deve verificar o Eclipse para C / C ++ e o plug-in AVR-Eclipse. Funciona perfeitamente para mim, especialmente com o crosspack. Eu uso há cerca de um ano e eu realmente gosto.
fonte
Eu uso o CrossPack do ObDev também. É um ótimo pacote de todas as ferramentas necessárias para escrever o código C do AVR-GCC. Eles são as mesmas ferramentas presentes em uma instalação padrão do Arduino, então, às vezes, eu usei a coragem do sistema de compilação do Arduino para escrever código simples do AVR-GCC.
Normalmente, quando escrevo código C, o "IDE" que utilizo é um editor de texto, comandos de linha de comando e Makefiles. Eu sou apenas mais eficiente assim. Eu tenho uma janela aberta que é o editor de texto (emacs), outra janela que é compilação e uma terceira ou quarta que faz monitor serial ou similar. Mas tudo isso pode ser feito em uma única janela da linha de comando; nesse caso, os comandos se parecem com:
Além disso, você pode conferir o SmileyMicros.com . Ele escreveu um livro muito bom sobre a introdução da programação do AVR GCC com base no quadro AVR Butterfly, antes do Arduino, e desde então atualiza seus exemplos para incorporar o Arduino. É uma boa comparação para ver como a programação do AVR C é feita em um chip mais complexo que o do Arduino.
fonte
Se você instalar o crosspack, poderá usar o Xcode da Apple para mac, que é um ótimo IDE. Se você quiser aprender c para AVR, consulte o fórum de tutoriais no AVR Freaks . Também quanto ao linux, verifique esta questão .
fonte
Como você usa o Arduino, tudo o que você precisa já está instalado. Eu compilo esboços do Arduino a partir da linha de comando usando um Makefile. Também compilo código sem o gerenciador de inicialização do Arduino.
O Makefile que eu uso para compilar o carregador de inicialização do Arduino para minhas placas está em http://wiblocks.luciani.org/docs/app-notes/bootloader.html Você pode modificá-lo para compilar seu programa em vez do arquivo ATmegaBOOT_xx8.c.
Meu Makefile foi modificado a partir do arquivo que encontrei neste site - http://mjo.tc/atelier/2009/02/arduino-cli.html
Enquanto respondia a mesma pergunta (ontem) no twitter, me deparei com um makefile no dorbotpdx. Veja http://dorkbotpdx.org/blog/ax/arduino_0017_makefile
Há também um script de shell bem documentado em http://arkku.com/misc/arduino_make.sh
Eu provavelmente usaria um Makefile em vez de um script de shell. O sujeito que fez esse script fez um excelente trabalho ao comentar o fluxo. É um trabalho apenas para entender o fluxo.
fonte
Achei o CodeLite (www.codelite.org) IDE agradável e completo; Ainda assim, para programar microchips AVR, você precisa criar seu próprio Makefile.
Você pode experimentar o BeRTOS Wizard , que criará um projeto BeRTOS e Makefiles relacionados, que você poderá usar com o CodeLite. Para piscar seu alvo, basta usar "make flash" e pronto. Trabalhamos no Linux diariamente, se você tiver alguma dúvida, poste-os na lista de discussão. Isenção de responsabilidade: Sou desenvolvedor do BeRTOS.
Atenciosamente, Luca
fonte
Se você possui o Macports instalado, basta executar:
e você deve estar pronto para ir.
fonte
Se você solicitar ao seu sistema de pacotes para instalar o avr-libc, isso deverá fornecer tudo o que você precisa. Eu uso o emacs como meu IDE, porque bem, veja o nome de usuário.
Se você quiser um makefile de modelo, dê uma olhada em um dos meus projetos no github, por exemplo, https://github.com/unixbigot/pir-lite
Nesse repositório, avr-tmpl.mk é uma biblioteca de makefile pronta para uso (não escrita por mim). Você o inclui no seu makefile principal e só precisa definir qual chip possui, a velocidade do relógio e seus arquivos. Eu tenho uma cópia e a incluo de todos os makefiles do meu projeto.
"make program" chamará avrdude para baixar o código. O makefile também imprime o tamanho do código no final, para que você saiba quanto espaço resta.
fonte
Programei meu 'antigo' Duemanilove 'como ISP com a ajuda deste artigo: http://arduino.cc/en/Tutorial/ArduinoISP Funciona igualmente bem com o ATtiny's: http://hlt.media.mit.edu/? p = 1229
Lembre-se de que, ao usar o Arduino IDE 0022, é necessário atualizar o esboço do ArduinoISP para uma versão mais recente, devido à prevenção de spam, mudei esse link para os comentários abaixo.
Fiz a programação em um editor de texto (vi) e compilei usando o avr-gcc, conforme descrito no artigo mit.edu que vinculei.
fonte
Ei cara, você ainda pode usar o avrstudio no ubuntu. Pensando como você pode fazer isso ...
A resposta é apenas instalar o aplicativo wine e executar os softwares windows com wine.
Avr studio, proteus ... até jogos do windows podem ser executados no ubuntu com vinho.
Você não precisa nem mexer com os makefiles blá blá. (Basta instalar com o vinho e começar).
Existem muitos sites para começar a usar os avr MCUs, como extremos eletrônicos, tutoriais sobre AVR etc. Basta fazer uma pesquisa no google.
Vou explicar em detalhes como instalar o avrstudio 4 no wine, já que o avrstudio 5 e 6 não funciona com ele, mas você pode usar a caixa virtual no linux para executar até o avr stud 5 e 6 com janelas na caixa virtual.
Abra o centro de software Ubuntu, digite wine na pesquisa e instale-o.
Em seguida, obtenha a configuração para avrstudio4 e você também precisa instalar o win avr
tente estes links para
uma. avr studio 4 http://mycomsats.com/blogs/download-atmel-avr-studio-4-free/
b. win avr http://sourceforge.net/projects/winavr/files/WinAVR/20100110/WinAVR-20100110-install.exe/download?use_mirror=kaz&r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fwinavr%2Ffiles% 2F & use_mirror = kaz
3.Abra a pasta onde está a configuração do AS (avr studio 4) e clique com o botão direito do mouse e abra-a com "windows wine program loader" ou "a wine application".
4.Então você precisa clicar nos próximos botões, como faria no Windows.
5.Em seguida, instale o win avr da mesma forma com o wine (entre na configuração do win avr ....).
6. Baixe o indicador de menu clássico do ubuntu software center. Você saberá disso em apenas cinco minutos.
7.No menu clássico -> vinho -> Programas -> avr tools
o sexto passo é um passo extra, para que você não precise mexer com o local onde a opção executável avrstudio4 está na pasta wine.
fonte