Ini adalah pustaka JavaScript yang menerapkan arsitektur 8-bit AVR.
Ini adalah hati- tetapi bukan seluruh tubuh- Simulator Arduino di https://wokwi.com.
AVR8js
Perpustakaan ini hanya mengimplementasikan inti CPU AVR. Anda harus menyediakannya kode mesin yang telah dikompilasi sebelumnya untuk dijalankan, dan mengimplementasikan simulasi fungsional dari perangkat keras eksternal apa pun. Anda mungkin juga ingin menambahkan representasi audio/visual dari perangkat keras eksternal yang disimulasikan.
Diagram konseptual yang kasar:
Pre-Compiled machine code --> AVR8js <--> Glue code <--> external hardware functional simulation <--> simulation state display for the user
Anda mungkin tertarik untuk menjelajahi koleksi Wokwi-Elements dari komponen web untuk representasi visual dari banyak komponen perangkat keras umum. (Catatan: Ini adalah elemen visual saja- Anda perlu menambahkan simulasi fungsional yang sesuai dan kode lem.)
Tutorial video langkah demi langkah yang menunjukkan cara membangun simulator Arduino sederhana menggunakan avr8js dan bereaksi:
Dan posting blog terkait.
Contoh -contoh ini menunjukkan contoh kerja menggunakan avr8js
dalam suatu aplikasi. Banyak dari mereka juga menunjukkan cara menggunakan wokwi-elements
dan memasukkan contoh kerja simulasi fungsional komponen, dan bagaimana cara menghubungkannya ke avr8js
.
Catatan: Mereka semua di -host di luar repo ini.
Proyek demo memungkinkan Anda untuk mengedit kode Arduino, mengkompilasinya, dan menjalankannya di simulator. Ini juga mensimulasikan 2 LED yang terhubung ke pin 12 dan 13 (PB4 dan PB5).
Untuk menjalankan proyek demo, lihat repositori ini, jalankan npm install
dan kemudian npm start
.
Perpustakaan berfokus pada simulasi ATmega328p , yang merupakan MCU yang digunakan oleh Arduino UNO.
Namun, kode ini dibangun dengan cara modular, dan sangat dapat dikonfigurasi, memungkinkan untuk mensimulasikan banyak chip dari keluarga Avr8, seperti ATMEGA2560 dan seri Attiny:
Lihat masalah 67 dan Edisi 73 untuk informasi lebih lanjut.
Jalankan tes sekali:
npm test
Jalankan tes file yang Anda modifikasi sejak Last Commit (Watch Mode):
npm run test:watch
Untuk informasi lebih lanjut, silakan periksa panduan yang berkontribusi.
Hak Cipta (C) 2019-2023 URI Dipagukan. Kode ini dirilis berdasarkan ketentuan lisensi MIT.