É aconselhável manter o IDE do Arduino?


24

É melhor mudar para o estúdio AVR (ou qualquer outra alternativa melhor?) Pelo IDE do Arduino. Parece que é tão simples e infantil. Eu preciso conhecer a ideia e a escolha dos especialistas.


11
Por que você não experimenta o AVR studio? Somente você pode decidir se ele atende às suas necessidades e o que é mais rápido / fácil para você .
PetPaulsen 12/09/12

3
@PetPaulsen sim, eu sei que é o melhor caminho. Farei isso em breve (provavelmente amanhã). Mas só queria saber como os outros veem isso. Você pode aprender muito mais coisas dessa forma também ..
Anubis

O plug-in do Arduino Visual Studio Pro foi atualizado recentemente para oferecer suporte ao Atmel Studio 6.1 . Instalar é menos de 10 minutos, qualquer Arduino esboço pode ser aberto, editado compilados, upload + lotes de outros recursos, como monitores de série, exemplos explorador e opcional depurador USB Arduino
Visual Micro

Respostas:


19

Uma enorme vantagem do uso, por exemplo, do AVR Studio, é a capacidade de usar todas as bibliotecas criadas para o ATmega168 / 328 antes do início do Arduino. Bibliotecas FFT, bibliotecas para o uso de alguns ICs obscuros que você comprou, filtros digitais rudimentares e muito mais podem ser encontradas nos AVRfreaks e em centenas de outros sites de hobby.

Você também pode escrever um código mais eficiente se aprender a utilizar as bibliotecas padrão do AVR e estudar a folha de dados (ou tutoriais) do microcontrolador. Para aplicações simples, o código do arduino é fácil de escrever e depurar. No entanto, às vezes você deseja controlar o tempo com mais eficiência. AnalogRead()precisa de 100µs para executar. Isso corresponde a 10kps (milhares de amostras por segundo). Você pode bombear isso facilmente para 70ksps se acessar o código de baixo nível para o ATmega168 / 328. Você pode fazer tudo isso no IDE do Arduino, é claro, mas em algum momento seus projetos podem se tornar muito complexos e você desejará escrever suas próprias bibliotecas com funções mais rápidas. O AVR Studio pode ser mais adequado para isso.

Além disso, se você quiser programar qualquer chip AVR diferente dos oferecidos pelo Arduino, precisará de um programador e de um IDE diferente. Pequenos projetos que usam 1kB de código podem ser realizados em um ATtiny. Você pode comprar uma dúzia deles pelo preço de um único ATmega328. Esses chips são baratos e têm a maioria dos recursos do Arduino: I2C, SPI, ADC. Você pode até encontrar bibliotecas que adicionam uma interface USB HID! Sem drivers seriais ou qualquer coisa!

Pessoalmente, primeiro escrevi código no IDE do Arduino, sem otimização de código. Se funcionar, esse código poderá ser facilmente transcrito para as bibliotecas C ++ padrão e tornado mais eficiente.


26

É simples porque precisa ser acessível a todos , e isso funciona: todos e sua irmãzinha podem programar o Arduino.

Se você acha que pode lidar com algo mais parecido com Programação Real , certamente o faria. Você precisará escrever mais código, mas também terá mais controle. Um ponto importante: a biblioteca do Arduino é terrivelmente ineficiente: funções como DigitalWritee DigitalReadpodem ser feitas até 50 vezes mais rápidas .


Uau, nunca percebi que era tão ineficiente. Eu sabia que havia despesas gerais, mas ... uau.
Polinômio

2
Obrigado pelas notícias sobre DigitalRead/Write. Nunca soube disso ..
Anubis

7
@ Anubis - eu descobri o JeeLabs recentemente. Eles têm um dos melhores blogs que eu já vi. Leitura definitivamente recomendada.
Stevenvh 12/09/12

2
Houve uma pergunta há um tempo atrás sobre a aceleração de IO digital do Arduino: electronics.stackexchange.com/questions/22585/…
Jon L

12

A maioria das respostas se concentrou no uso da placa Arduino como uma placa AVR padrão. Mas você também pode usar um IDE mais avançado e ainda aproveitar a simplicidade da codificação do Arduino e das bibliotecas integradas (junto com as desvantagens mencionadas acima). O EngBlaze acabou de fazer um tutorial sobre isso: Tutorial: Usando o Atmel Studio 6 com projetos Arduino


3

O Arduino IDE comercializa a eficiência do código por conveniência e velocidade de desenvolvimento para pequenos projetos. Como os especialistas também têm prazos , é perfeitamente aceitável usar o Arduino IDE para uma rápida prova de conceito ou para ajudar a depurar outro projeto.

Se você deseja se especializar no desenvolvimento de software embarcado, deve poder usar ferramentas de desenvolvimento mais poderosas, como o AVR Studio ou avr-gcc e seu IDE preferido.

Indo além de dominar as ferramentas de desenvolvimento, aprender o funcionamento interno de um microcontrolador e conhecer algumas montagens é definitivamente uma vantagem, se você pretende trabalhar em sistemas com pouca memória e / ou requisitos de baixa energia e / ou alto desempenho.


Obrigado pela resposta detalhada, eu prefiro isso. Eu certamente concordo com isso, especialmente com o último ponto. Embora eu seja novo nos processadores Atmel, conheço um pouco mais sobre a organização interna dos PICs e não consigo socriar códigos de montagem complexos. Embora isso pareça um pouco difícil, você pode aprender a maneira exata de como o microcontrolador se comporta. Eu acho que muitos acharão essa resposta útil. Espero que você obtenha mais votos: D .. (e esta é sua primeira resposta, não é?).
Anubis

2
Hoje em dia, quase não existe situação em que ser fluente na montagem (capaz de codificar sem olhar constantemente na documentação) seja útil. Dominar seu compilador , conhecer suas dobras e as boas opções, é muito mais útil. Boa sorte.
Sylvain
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.