Это библиотека JavaScript, которая реализует 8-битную архитектуру AVR.
Это сердце, но не все тела- симулятора Arduino на https://wokwi.com.
AVR8js
Эта библиотека только реализует ядро процессора AVR. Вы должны предоставить его предварительно скомпилированный машинный код для запуска и реализовать функциональные моделирования любого внешнего оборудования. Вы, вероятно, также захотите добавить моделируют аудио/визуальные представления о внешнем оборудовании.
Грубая концептуальная диаграмма:
Pre-Compiled machine code --> AVR8js <--> Glue code <--> external hardware functional simulation <--> simulation state display for the user
Возможно, вы заинтересованы в изучении коллекции веб-компонентов Wokwiements для визуальных представлений многих общих аппаратных компонентов. (Примечание: это визуальные элементы. Вам нужно будет добавить соответствующее функциональное моделирование и код клея.)
Пошаговый видеоурок, показывающий, как построить простой симулятор Arduino, используя AVR8JS и React:
И связанный состав в блоге.
Эти примеры показывают рабочие примеры использования avr8js
в приложении. Многие из них также демонстрируют, как использовать wokwi-elements
, и включают в себя рабочие примеры функциональных моделирования компонентов и как подключить их к avr8js
.
Примечание: все они размещены за пределами этого репо.
Демо -проект позволяет вам редактировать код Arduino, компилировать его и запускать его в симуляторе. Он также имитирует 2 светодиода, подключенные к контактам 12 и 13 (PB4 и PB5).
Чтобы запустить демонстрационный проект, ознакомьтесь с этим хранилищем, запустите npm install
, а затем npm start
.
Библиотека фокусируется на моделировании ATMEGA328P , который является MCU, используемым Arduino Uno.
Тем не менее, код построен модульным образом и очень настраивается, что позволяет имитировать многие чипы из семейства AVR8, таких как Atmega2560 и серия Attny:
Ознакомьтесь с выпуском 67 и выпуском 73 для получения дополнительной информации.
Запустите тесты один раз:
npm test
Запустите тесты файлов, которые вы изменили с момента последнего коммита (режим наблюдения):
npm run test:watch
Для получения дополнительной информации, пожалуйста, ознакомьтесь с руководством по содействию.
Авторские права (C) 2019-2023 URI Shaked. Код выпускается в соответствии с условиями лицензии MIT.