Est-il conseillé de rester fidèle à l'IDE Arduino?


24

Est-il préférable de passer au studio AVR (ou à toute autre meilleure alternative?) Via l'IDE Arduino. Sentez-vous que c'est si simple et enfantin. J'ai besoin de connaître l'idée et le choix des experts ..


1
Pourquoi ne pas simplement essayer AVR studio? Vous seul pouvez décider s'il correspond à vos besoins et ce qui est plus rapide / plus facile pour vous .
PetPaulsen

3
@PetPaulsen oui, je sais que c'est la meilleure façon. Je le ferai bientôt (probablement demain). Mais je voulais juste savoir comment les autres voient cela. Vous pouvez aussi apprendre beaucoup plus de choses de cette façon ..
Anubis

Le plugin Arduino Visual Studio Pro a été récemment mis à jour pour prendre en charge Atmel Studio 6.1 . L'installation est inférieure à 10 minutes, tout croquis Arduino peut être ouvert, modifié, compilé, téléchargé + beaucoup d'autres fonctionnalités telles que les moniteurs série, l'explorateur d'exemples et le débogueur USB Arduino en
Visual Micro

Réponses:


19

Un énorme avantage d'utiliser par exemple AVR Studio est la possibilité d'utiliser toutes les bibliothèques conçues pour ATmega168 / 328 avant l'aube d'Arduino. Bibliothèques FFT, bibliothèques pour utiliser certains circuits intégrés obscurs que vous avez achetés, filtres numériques rudimentaires, et bien d'autres peuvent être trouvés sur AVRfreaks et des centaines d'autres sites de loisirs.

Vous pouvez également écrire du code plus efficace si vous apprenez à utiliser les bibliothèques AVR standard et étudiez la fiche technique (ou les didacticiels) du microcontrôleur. Pour les applications simples, le code arduino est facile à écrire et à déboguer. Cependant, vous souhaitez parfois contrôler le timing plus efficacement. AnalogRead()a besoin de 100µs pour s'exécuter. Cela correspond à 10 kps (milliers d'échantillons par seconde). Vous pouvez facilement pomper cela vers 70 kps si vous accédez au code de bas niveau pour l'ATmega168 / 328. Vous pouvez faire tout cela dans l'IDE Arduino, bien sûr, mais à un moment donné, vos projets pourraient devenir trop complexes et vous voudrez écrire vos propres bibliothèques avec des fonctions plus rapides. AVR Studio pourrait être plus adapté à cela.

De plus, si vous souhaitez programmer une puce AVR autre que celles proposées par Arduino, vous aurez besoin d'un programmeur et d'un IDE différent. Les petits projets qui utilisent 1 Ko de code peuvent être réalisés sur un ATtiny. Vous pouvez en acheter une douzaine pour le prix d'un seul ATmega328. Ces puces sont bon marché et ont la plupart des capacités d'Arduino: I2C, SPI, ADC. Vous pouvez même trouver des bibliothèques qui ajoutent une interface USB HID! Pas de pilotes série ou quoi que ce soit!

Personnellement, j'écris d'abord du code dans l'IDE Arduino, sans optimisation de code. Si cela fonctionne, ce code peut être facilement transcrit dans les bibliothèques C ++ standard et rendu plus efficace.


26

C'est simple car il doit être accessible à tous , et ça marche: tout le monde et sa petite sœur peuvent programmer Arduino.

Si vous sentez que vous pouvez gérer quelque chose de plus comme la vraie programmation, je le ferais certainement. Vous devrez écrire plus de code, mais vous aurez également plus de contrôle. Un point important: la bibliothèque Arduino est horriblement inefficace: des fonctions comme DigitalWriteet DigitalReadpeuvent être rendues jusqu'à 50 fois plus rapides .


Wow, je n'ai jamais réalisé que c'était aussi inefficace. Je savais qu'il y avait des frais généraux, mais ... wow.
Polynôme

2
Merci pour les nouvelles DigitalRead/Write. Je ne savais pas que ..
Anubis

7
@Anubis - J'ai découvert les JeeLabs moi-même récemment. Ils ont l' un des meilleurs blogs que j'ai jamais vus. Lecture absolument recommandée.
stevenvh

2
Il y a eu une question il y a quelque temps à propos de l'accélération des E / S numériques Arduino: electronics.stackexchange.com/questions/22585/…
Jon L

12

La plupart des réponses se sont concentrées sur l'utilisation de la carte Arduino comme carte AVR standard. Mais vous pouvez également utiliser un IDE plus avancé tout en profitant de la simplicité du codage Arduino et des bibliothèques intégrées (ainsi que des inconvénients mentionnés ci-dessus). EngBlaze vient de faire un tutoriel à ce sujet: Tutoriel: Utiliser Atmel Studio 6 avec des projets Arduino


3

L'IDE Arduino échange l'efficacité du code pour plus de commodité et de rapidité de développement pour les petits projets. Parce que les experts ont des délais également des , il est parfaitement acceptable d'utiliser l'IDE Arduino pour une preuve de concept rapide ou pour aider à déboguer un autre projet.

Si vous souhaitez vous spécialiser dans le développement de logiciels embarqués, vous devez pouvoir utiliser des outils de développement plus puissants, tels que AVR Studio ou avr-gcc et votre IDE préféré.

Aller au-delà de la maîtrise des outils de développement, apprendre le fonctionnement interne d'un microcontrôleur et connaître un assemblage est certainement un plus si vous avez l'intention de travailler sur des systèmes avec une petite mémoire, et / ou des exigences de faible puissance et / ou des performances élevées.


Merci pour la réponse détaillée, je préfère ça. Je suis certainement d'accord avec cela, en particulier avec le dernier point. Bien que je sois nouveau dans les processeurs Atmel, j'en connais un peu plus sur l'organisation interne des PIC et je ne peux pas socompliquer les codes d'assemblage. Bien que cela semble un peu difficile, vous pouvez apprendre le comportement exact du microcontrôleur. Je pense que beaucoup trouveront cette réponse utile. J'espère que vous obtiendrez plus de votes,: D .. (et ceci est votre première réponse, hein?).
Anubis

2
De nos jours, il n'y a pratiquement aucune situation où la maîtrise de l'assemblage (capable de coder sans regarder constamment dans la documentation) est utile. Maîtriser votre compilateur , connaître ses défauts et les bonnes options, est beaucoup plus utile. Bonne chance.
Sylvain
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.