Dies ist eine JavaScript-Bibliothek, die die AVR 8-Bit-Architektur implementiert.
Es ist das Herz, aber nicht der ganze Körper des Arduino-Simulators unter https://wokwi.com.
AVR8js
Diese Bibliothek implementiert nur den AVR -CPU -Kern. Sie müssen den vorgefertigten Maschinencode zum Ausführen liefern und funktionale Simulationen von externen Hardware implementieren. Sie möchten wahrscheinlich auch Audio-/visuelle Darstellungen der simulierten externen Hardware hinzufügen.
Ein grobes konzeptionelles Diagramm:
Pre-Compiled machine code --> AVR8js <--> Glue code <--> external hardware functional simulation <--> simulation state display for the user
Möglicherweise möchten Sie die Wokwi-Elemente-Sammlung von Webkomponenten für visuelle Darstellungen vieler häufiger Hardwarekomponenten untersuchen. (Hinweis: Dies sind nur visuelle Elemente- Sie müssen die entsprechende Funktionssimulation und den Klebercode hinzufügen.)
Ein Schritt-für-Schritt-Video-Tutorial zeigt, wie ein einfacher Arduino-Simulator mit AVR8JS erstellt und reagiert wird:
Und ein verwandter Blog -Beitrag.
Diese Beispiele zeigen Arbeitsbeispiele für die Verwendung avr8js
in einer Anwendung. Viele von ihnen zeigen auch, wie sie die wokwi-elements
verwenden und Beispiele für funktionale Simulationen der Komponenten und wie sie an avr8js
angeschlossen werden können.
Hinweis: Sie werden alle außerhalb dieses Repos gehostet.
Mit dem Demo -Projekt können Sie den Arduino -Code bearbeiten, kompilieren und im Simulator ausführen. Es simuliert auch 2 LEDs, die mit den Stiften 12 und 13 verbunden sind (PB4 und PB5).
Um das Demo -Projekt auszuführen, sehen Sie sich dieses Repository an, führen Sie npm install
und dann npm start
aus.
Die Bibliothek konzentriert sich auf die Simulation des ATMEGA328P , der von der Arduino Uno verwendete MCU.
Der Code ist jedoch modular und ist sehr konfigurierbar, was es ermöglicht, viele Chips aus der AVR8 -Familie zu simulieren, z. B. die ATMEGA2560 und die Attiny -Serie:
Weitere Informationen finden Sie in Ausgabe 67 und Ausgabe 73.
Führen Sie die Tests einmal aus:
npm test
Führen Sie die Tests der Dateien aus, die Sie seit dem letzten Commit (Watch -Modus) geändert haben:
npm run test:watch
Weitere Informationen finden Sie in den beitragenden Leitfaden.
Copyright (C) 2019-2023 Uri Shaked. Der Code wird unter den Bedingungen der MIT -Lizenz veröffentlicht.