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 ..
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 ..
Réponses:
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.
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 DigitalWrite
et DigitalRead
peuvent être rendues jusqu'à 50 fois plus rapides .
DigitalRead/Write
. Je ne savais pas que ..
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
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.
so
compliquer 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?).