Mulai dengan embedded C dengan ATmega32 (ATmega AVR series)

9

Saya memiliki papan ATmega32 yang tergeletak di sekitar dan saya pikir akan sempurna untuk memulai dengan mikrokontroler. Saya pernah melakukan ocehan di embedded C (saat itulah saya mendapat board ini) tetapi alirannya terhenti karena beberapa hal. Sekarang saya punya dua pertanyaan:

  1. Apa sumber daya gratis terbaik untuk memulai dengan C untuk seri avr. Saya tahu tentang AVR-GCC tetapi sedang mencari beberapa tutorial atau buku gratis untuk memulai saya.

  2. Haruskah saya langsung melompat ke C atau melalui ASM dulu? Saya melihat ada banyak buku asm di sekitar. Jadi, apa pilihan yang lebih baik?

Saat mencari di Internet, saya menemukan bootloader Arduino untuk ATmega32 di sini http://retrointerfacing.com/?p=30 tetapi masalahnya adalah saya ragu-ragu untuk melakukan mengutak-atik bit sekering dan semuanya. Apakah aman untuk melakukannya?

Rick_2047
sumber

Jawaban:

5

Bergabunglah dengan AVR Freaks . Anda akan menemukan banyak sumber daya dan membantu jika Anda mengalami kesulitan.

Leon Heller
sumber
6

The dokumentasi AVR-libc merupakan sumber informasi bagi C pada AVRS. Ini satu lagi .

Secara pribadi, saya lebih suka bekerja di C. Memanfaatkan avr-libc memberi Anda portabilitas kode yang baik dalam keluarga AVR. Namun, jika Anda melakukan pengaturan waktu yang kritis, Anda mungkin harus menggunakan ASM.

Jika Anda memiliki programer AVR paralel atau "tegangan tinggi" maka Anda selalu dapat memprogram ulang bit sekering. Jika Anda menggunakan serial (In-System-Programming, ISP) maka berhati-hatilah untuk tidak menonaktifkan bit SPIEN atau RESETENABLE karena ini akan mencegah Anda untuk dapat memprogram ulang.

Tersedia pelindung pemrograman Arduino HV .

Toby Jaffey
sumber
4

Saya akan mulai dengan C. Anda mungkin perlu potongan ASM sesekali tetapi untuk sebagian besar aplikasi yang akan tentang hal itu. Pengecualian akan menjadi bootloader jika Anda memutuskan untuk menggulir sendiri.

Dave Mellis memasang tutorial AVR di wiki MIT HLT. Dia membahas pengaturan alat untuk ATmega328 tetapi tampaknya cukup umum untuk membantu Anda dengan perangkat yang berbeda. Lihat

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

Perpustakaan dan contoh di situs Atmel tampaknya bagus. Saya telah menggunakan sejumlah cuplikan dari catatan aplikasi mereka. Pustaka I2C (TWI) yang saya gunakan dalam kode RTC saya berasal dari situs Atmel.

jluciani
sumber
3

Saya akan pergi dengan Arduino dulu. Banyak buku, tutorial, dan contoh kode. Dan komunitas yang hebat dan menyenangkan. Kemudian jika Anda terbiasa dengan Arduino, cobalah C dengan AVR-GCC.

Saya tidak bisa merekomendasikan ASM hari ini. Mungkin ada beberapa sudut di mana Anda mungkin harus menggunakan ASM tetapi kebanyakan hal dapat diselesaikan dengan polos C. Dengan ASM Anda dapat mempelajari beberapa detail tentang bagaimana mikrokontroler bekerja, tetapi jika Anda ingin membuat sesuatu terjadi lebih cepat, saya akan tetap menggunakan C atau C ++.

tinkerlog
sumber
Masalahnya adalah sangat sulit untuk mendapatkan Arduino tempat saya tinggal. Saya berencana membuat satu untuk saya sendiri tetapi itu juga tidak berhasil (baca tidak punya waktu).
Rick_2047
jika Anda memiliki kemampuan untuk memprogram chip, maka Anda dapat memuat firmware Arduino di dalamnya, kemudian gunakan tautan serial + bootloader untuk pekerjaan selanjutnya.
Gallamine
0

Anda dapat memulai dari pemrograman C untuk mikrokontroler oleh Joe Pardue. Gunakan AVRStudio5 dan ikuti http://avrfreaks.net , Anda bisa mendapatkan banyak orang keren dan bermanfaat di sini.

Bishal Paudel
sumber