Arduino Dengan Majelis?


12

Karena untuk usaha saya dalam Microprocessing saya memutuskan untuk pergi dengan Atmel AVR karena sumber daya yang luas tersedia. Dan Arduino tampaknya memiliki banyak juga, belum lagi kit starter mereka tampaknya lebih "pada level saya"

Masalahnya adalah saya ingin mempelajarinya di Assembly terlebih dahulu, dan kemudian pergi ke C / C ++ atau w / e Arduino menggunakan, tetapi ive mendengar Arduino tidak akan mengambil perakitan AVR? Apakah ini benar? Apakah ada cara lain untuk itu?

Terima kasih

sunting: Saya akan menggunakan ATMEL STK500 tapi..untuk timer pertama terlihat SANGAT rumit? Apakah ada alasan mengapa saya tidak bisa hanya mendapatkan AVR 8 bit dan menaruhnya di atas papan tempat memotong roti dan bereksperimen dengan cara itu? (saya kira saya harus mencari cara antarmuka mereka ....)

sunting2: Ini yang saya pikirkan

http://www.adafruit.com/index.php?main_page=product_info&cPath=17&products_id=193


Bagaimana hasilnya? Jadi solusi mana yang sudah Anda pertimbangkan? Aku membeli Arduino Uo dan mencari cara untuk mengembangkan dalam assembler juga
sll

Jawaban:


5

Papan Arduino dapat diprogram dalam perakitan. Yang Anda butuhkan hanyalah kabel ICSP Cable (In Circuit Serial Programmer) dan AVR toolchain (bebas dari ATMEL) untuk menulis ke papan tulis. Anda kemudian mendapatkan keuntungan dari debugging di papan.

Seperti yang Anda sarankan, Anda bisa menampar chip ATMEL di papan tempat memotong roti dan pergi ke kota.

Kit yang Anda referensikan tampak seperti titik awal yang bagus. Anda dapat mengambil chip langsung dari papan dan menempelkannya di papan tempat memotong roti Anda sendiri (selama itu memiliki daya yang diatur dengan benar dan Anda menghitung waktunya).


Ya saya akan prolly ingin tetap dengan Tidak meletakkannya di papan tempat memotong roti saya sendiri sekarang lol Aku tidak terlalu bagus dengan sirkuit.

@Sauron - hah - bagaimanapun juga baik. Apa pun yang membuat Anda ketagihan! Hal yang baik adalah chip individu cukup murah (beberapa dolar atau lebih).
RQDQ


2

Sejauh yang saya tahu seharusnya tidak ada yang spesifik tentang bootloader Arduino yang dapat mencegah Anda menggunakan perakitan alih-alih C. Arduino IDE mungkin menyulitkan Anda untuk mengunggah file .hex Anda sendiri tetapi sepertinya bootloader Arduino kompatibel dengan STK500 sehingga Anda harus dapat menggunakannya dengan avrdude.


Ya, sebenarnya, Arduino IDE sendiri menggunakan avrdude untuk melakukan unggahan.
Chris Stratton

1

Papan Arduino (Uno dan Duemilanove bagaimanapun juga) memiliki konektor pemrograman AVR standar yang didukung oleh programmer Atmel dan debugger melalui AVR Studio. Studio mendukung assembler dan C. Programmer yang cocok adalah AVRISP MkII, dan AVR Dragon menawarkan pemrograman dan debugging. Saya akan mendapatkan yang terakhir, ini lebih mahal dari $ 50, tetapi fasilitas debug sangat berharga. Anda juga dapat menggunakan alat-alat itu dengan chip AVR standar (bukan Arduino) yang dicolokkan ke papan tempat memotong roti atau PCB.


1

Arduino terdiri dari dua bagian: perangkat keras dan IDE. IDE terutama (jika tidak sepenuhnya) membatasi Anda ke C dan C ++ (dengan beberapa gula sintaks yang telah dilemparkan oleh pengembang untuk membuatnya sedikit lebih seperti Memproses / Java). Ada kemungkinan bahwa IDE akan mengenali file .s atau .S di direktori yang sama dengan sketsa standar (.pde), tetapi saya tidak akan membiarkan hal itu terjadi.

Tidak ada yang istimewa dengan perangkat kerasnya. Ini adalah papan yang bagus dan ramah dengan banyak fitur bagus yang akan dihargai oleh μC neophytes, tetapi jika Anda hanya ingin memprogram AVR melalui header ISP, Anda juga dapat melakukannya. Anda akan memerlukan sesuatu seperti mkII Atmel AVRISP , atau programmer lain yang bekerja dengan konektor baris 2x3 pada papan Arduino. Cari yang kompatibel dengan program avrdude yang akan Anda gunakan untuk mengunggah aplikasi Anda. Jauhi USBtinyISP Adafruit; Saya sangat beruntung dan akhirnya membeli Atmel yang saya tautkan dengan harga kurang dari $ 40 dari Mouser.


1
Aneh, saya tidak punya apa-apa selain pengalaman bagus dengan Atmel IDE dan usbtiny, buspirate juga akan berfungsi ganda sebagai ISP untuk banyak platform berbeda, alat kecil yang hebat
crasic

1

Tidak sulit sama sekali.

http://www.dwelch.com/arduino/

Anda perlu melihat saya pikir ser.c di halaman saya untuk memilih kartu yang mana. beberapa menggunakan kecepatan port serial yang berbeda secara default, dan skema reset yang berbeda untuk masuk ke mode pemrograman. Jika Anda melihat firmware Arduino Anda menemukan bahwa hampir tidak ada perintah pemrograman avr yang benar-benar didukung. Lagipula tidak benar-benar membutuhkannya.


1

Aruduino benar-benar dapat diprogram dalam perakitan. Dan Anda bahkan tidak memerlukan kabel ICSP untuk melakukannya!

Oke, adil, ini tidak sama dengan pemrograman dalam perakitan murni dari bawah ke atas.

Tetapi Anda dapat inline assembly dalam C. Yang berarti Anda dapat memuat kode ke Arduino Anda yang memiliki inline assembly, yang kemudian akan dieksekusi. Pertimbangkan perpustakaan TVOut , yang memungkinkan Arduino untuk output NTSC / PAL ke TV.

Pustaka itu sangat sensitif terhadap waktu (karena dikeluarkan ke TV, setiap scanline harus ditulis pada waktu yang tepat.) Jadi, perpustakaan itu menggunakan perakitan inline untuk mempercepat prosesnya. Melihat baris 89 file ini dari perpustakaan, penulis menggunakan beberapa makro rakitan yang ia tulis.

Sekarang. Saya menduga dia tidak menulisnya menggunakan IDE Arduino default. Tetapi pustaka ini memanggil kode asm inline-nya, yang dapat diimpor, dikompilasi, dan dieksekusi melalui antarmuka mereka.

Semoga berhasil!


2
Sebenarnya, Anda dapat melakukan file sumber rakitan juga, Anda hanya perlu melewati Arduino IDE dan berinteraksi dengan alat back end seperti avr-gcc (atau apa pun yang Anda gunakan sebagai assembler) dan avrdude secara langsung.
Chris Stratton

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.