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.
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.
Yanıtlar:
Ö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.
Ç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 DigitalWrite
ve DigitalRead
yapılabilir 50 kat daha hızlı kadar .
DigitalRead/Write
. Asla bilmiyordum ..
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
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.
so
karmaşı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?).