Arduino IDE'ye bağlı kalmak tavsiye edilir mi?


24

Arduino IDE üzerinden AVR stüdyosuna (veya başka bir daha iyi alternatif) geçmek daha mı iyi? Çok basit ve çocuksu gibi hissediyorum. Uzmanların fikrini ve seçimini bilmem gerekiyor.


1
Neden sadece AVR stüdyosunu denemiyorsunuz? Sadece ne olduğunu hızlı / kolay için ihtiyaçlarınıza en uygun ve karar verebilir size .
PetPaulsen 12:12

3
@PetPaulsen evet, bunun en iyi yol olduğunu biliyorum. Yakında yapacağım (muhtemelen yarın). Ama sadece başkalarının bunu nasıl gördüğünü bilmek istedim. Siz de bu şekilde çok daha fazla şey öğrenebilirsiniz ..
Anubis

Arduino Visual Studio Pro eklentisi geçenlerde desteklemek için güncellendi Atmel Studio 6.1 . Kurulum 10 dakikadan azdır, herhangi bir Arduino taslağı açılabilir, düzenlenebilir, derlenebilir, yüklenebilir, seri monitörler, örnekler gezgini ve isteğe bağlı Arduino USB hata ayıklayıcı
Visual Micro

Yanıtlar:


19

Örneğin AVR Studio kullanmanın büyük bir avantajı, Arduino'nun şafağından önce ATmega168 / 328 için yapılan tüm kütüphaneleri kullanma yeteneğidir. FFT kütüphaneleri, satın aldığınız bazı gizli IC'leri kullanmak için kütüphaneler, ilkel dijital filtreler ve daha pek çok şeyi AVRfreaks ve diğer yüzlerce hobi sitesinde bulabilirsiniz.

Standart AVR kitaplıklarını kullanmayı ve mikrodenetleyicinin veri sayfasını (veya öğreticileri) kullanmayı öğrenirseniz, daha verimli kodlar da yazabilirsiniz. Basit uygulamalar için, arduino kodunu yazmak ve hata ayıklamak kolaydır. Ancak, bazen zamanlamayı daha verimli bir şekilde kontrol etmek istersiniz. AnalogRead()yürütmek için 100µs gerekiyor. Bu, 10k / sn'ye (saniyede binlerce örnek) karşılık gelir . 70ksps'ye kolayca pompalayabilirsiniz. / 328 için düşük seviyeli koda , bunu . Bunların hepsini elbette Arduino IDE'de yapabilirsiniz, ancak bir noktada projeleriniz çok karmaşık olabilir ve kendi kütüphanelerinizi daha hızlı fonksiyonlarla yazmak isteyeceksiniz. AVR Studio bunun için daha uygun olabilir.

Ayrıca, Arduino tarafından sunulanlar dışında herhangi bir AVR yongasını programlamak istiyorsanız, bir programlayıcıya ve farklı bir IDE'ye ihtiyacınız olacaktır. ATtiny'de 1kB kod kullanan küçük projeler yapılabilir. Tek bir ATmega328'in fiyatından bir düzine satın alabilirsiniz. Bu çipler ucuzdur ve Arduino'nun özelliklerinin çoğuna sahiptir: I2C, SPI, ADC. USB HID arayüzü ekleyen kütüphaneleri bile bulabilirsiniz! Seri sürücü falan yok!

Şahsen, önce kod optimizasyonu yapmadan Arduino IDE'ye kod yazarım. Çalışırsa, bu kod kolayca standart C ++ kütüphanelerine kopyalanabilir ve daha verimli hale getirilebilir.


26

Çok basit çünkü erişilebilir olması gerekiyor herkes ve bu işe yarar: herkes ve küçük kız kardeşi Arduino'yu programlayabilir.

Gerçek Programlama gibi bir şeyle daha iyi başa çıkabileceğinizi düşünüyorsanız , kesinlikle yapacağım. Daha fazla kod yazmanız gerekecek, ancak daha fazla kontrole sahip olacaksınız. Önemli bir nokta: Arduino kütüphane korkunç verimsiz: fonksiyonları gibi DigitalWriteve DigitalReadyapılabilir 50 kat daha hızlı kadar .


Vay, bu kadar verimsiz olduğunu asla anlamadım. Genel giderlerin olduğunu biliyordum ama ... vay.
Polinom

2
İle ilgili haberler için teşekkürler DigitalRead/Write. Asla bilmiyordum ..
Anubis

7
@Anubis - JeeLabs'ı kendim daha yeni keşfettim. Gördüğüm en iyi bloglardan birine sahipler . Kesinlikle okuma önerilir.
stevenvh

2
Arduino digital IO speed-up hakkında bir süre önce bir soru vardı: electronics.stackexchange.com/questions/22585/…
Jon L

12

Yanıtların çoğu, Arduino kartını standart bir AVR kartı olarak kullanmaya odaklandı. Ancak, daha gelişmiş bir IDE kullanabilir ve yine de Arduino kodlama ve yerleşik kütüphanelerin sadeliğinden faydalanabilirsiniz (yukarıda belirtilen dezavantajlarla birlikte). EngBlaze bu konuda bir eğitici yaptı: Öğretici: Atmel Studio 6'yı Arduino projeleriyle kullanmak


3

Arduino IDE, küçük projeler için kolaylık ve geliştirme hızı için kod verimliliğini değiştirir . Uzmanlar da son teslim tarihlerine sahip olduklarından , hızlı bir kavram kanıtı için Arduino IDE'yi kullanmak veya başka bir projede hata ayıklamak için mükemmel bir şekilde kabul edilebilir.

Eğer gömülü yazılım geliştirme uzmanlaşmak istiyorsanız, gereken böyle AVR Studio veya avr-gcc ve tercih IDE olarak daha güçlü geliştirme araçları, kullanabilecektir.

Geliştirme araçlarına hakim olmak, bir mikrodenetleyicinin iç çalışmalarını öğrenmek ve bazı montajları bilmek ötesine geçmek, küçük bellek ve / veya düşük güç gereksinimi ve / veya yüksek performansa sahip sistemler üzerinde çalışmayı düşünüyorsanız kesinlikle bir artıdır.


Detaylı cevap için teşekkürler, bunu tercih ederim. Buna kesinlikle, özellikle son noktaya katılıyorum. Atmel işlemcilerinde yeniysem de , PIC'lerin iç organizasyonu hakkında biraz daha fazla şey biliyorum ve sokarmaşık montaj kodları yapamam . Bu biraz zor görünse de, mikrodenetleyicinin nasıl davrandığını tam olarak öğrenebilirsiniz. Bence pek çok kişi bu cevabı faydalı bulacaktır. Umarım daha fazla oy alırsınız: D. (ve bu ilk cevabınız, ha?).
Anubis

2
Günümüzde, montajda akıcı olmanın (sürekli olarak belgelere bakmadan kodlayabilmenin) hiç yararlı olmadığı herhangi bir durum yoktur. Senin Mastering derleyici , onun karışıklığı ve iyi seçenekler bilerek çok daha yararlıdır. İyi şanslar.
Sylvain
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.