ATmega32 ile gömülü C ile başlayın (ATmega AVR serisi)


9

Bir ATmega32 tahtam var ve mikrodenetleyicilerle başlamak için mükemmel olacağını düşünüyorum. Bir keresinde gömülü C'de gevezelik yaptım (bu kartı aldığımda bu) ama akış bazı şeylerden dolayı durduruldu. Şimdi iki sorum var:

  1. Avr serisi için C ile başlamak için en iyi ücretsiz kaynak nedir? AVR-GCC'yi biliyorum ama beni başlatmak için bazı dersler veya ücretsiz kitaplar arıyordum.

  2. Doğrudan C'ye atlamalı mıyım yoksa önce ASM'den mi geçmeliyim? Etrafta birçok asm kitabı var. Peki daha iyi bir seçenek nedir?

İnternette arama yaparken, ATmega32 için Arduino önyükleyicisini burada buldum http://retrointerfacing.com/?p=30 ama sorun ben sigorta bitleri ve hepsi ile bazı müdahaleler yapmak için bir tereddüt. Bunu yapmak güvenli mi?

Yanıtlar:



6

Avr-libc dokümantasyon Avrs üzerinde C için büyük bir bilgi kaynağıdır. İşte bir tane daha .

Şahsen, C'de çalışmayı tercih ederim. Avr-libc kullanmak AVR ailesi içinde iyi kod taşınabilirliği sağlar. Ancak, zamanlama açısından kritik bir şey yapıyorsanız, ASM'ye başvurmanız gerekebilir.

Paralel veya "yüksek voltajlı" bir AVR programlayıcınız varsa, sigorta bitlerini her zaman yeniden programlayabilirsiniz. Seri (Sistem İçi Programlama, İSS) kullanıyorsanız, SPIEN veya RESETENABLE bitlerini devre dışı bırakmamaya dikkat edin, çünkü bunlar yeniden programlamanıza engel olur.

Bir var Arduino HV programlama kalkan mevcut.


4

C ile başlıyorum. Ara sıra ASM snippet'ine ihtiyacınız olabilir, ancak bununla ilgili çoğu uygulama için. Kendinizi döndürmeye karar verirseniz istisna bir bootloader olur.

Dave Mellis, MIT HLT wiki'sine bir AVR öğretici hazırladı. ATmega328 için araçlar kurmayı tartışıyor, ancak farklı cihazlarda size yardımcı olacak kadar genel görünüyor. Görmek

http://hlt.media.mit.edu/wiki/index.php/AVR_Programming

Atmel sahasındaki kütüphaneler ve örnekler iyi görünüyor. Uygulama notlarından bir dizi snippet kullandım. RTC kodumda kullandığım I2C (TWI) kütüphanesi Atmel sitesinden geliyor.


3

Önce Arduino ile giderdim. Birçok kitap, öğretici ve örnek kod. Ve harika ve güzel bir topluluk. Daha sonra Arduino'yu biliyorsanız, AVR-GCC ile C'yi deneyin.

Bu gün ASM tavsiye edemez. ASM kullanmak zorunda kalacağınız bazı köşeler olabilir, ancak çoğu şey düz C ile çözülebilir. ASM ile bir mikrodenetleyicinin nasıl çalıştığı hakkında bazı ayrıntıları öğrenebilirsiniz, ancak işleri daha hızlı yapmak istiyorsanız, C veya C ++.


sorun yaşadığım yerde bir arduino bulmak çok zor. Kendim için bir tane yapmayı planlıyorum ama bu da işe yaramıyor (okuma zamanı yok).
Rick_2047

çipi programlama yeteneğiniz varsa, Arduino ürün yazılımını yükleyebilir, daha sonra çalışmak için seri bağlantı + bootloader'ı kullanabilirsiniz.
Gallamin

0

Joe Pardue tarafından mikrodenetleyiciler için C programlamasından başlayabilirsiniz. AVRStudio5 kullanın ve http://avrfreaks.net adresine sadık kalın , burada çok sayıda havalı ve yardımsever adam alabilirsiniz.

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.