avr8js
0.20.0
这是一个实现AVR 8位体系结构的JavaScript库。
这是https://wokwi.com上Arduino模拟器的整个身体。
AVR8js
的示例应用程序该库仅实现AVR CPU核心。您必须提供预编译机器代码以运行并实现任何外部硬件的功能模拟。您可能还需要添加模拟外部硬件的音频/视觉表示。
粗糙的概念图:
Pre-Compiled machine code --> AVR8js <--> Glue code <--> external hardware functional simulation <--> simulation state display for the user
您可能有兴趣探索WokWi元素的Web组件集合,以了解许多常见硬件组件的视觉表示。 (注意:这些仅是视觉元素 - 您需要添加适当的功能模拟和胶水代码。)
分步视频教程,展示了如何使用AVR8JS构建简单的Arduino模拟器并进行反应:
以及相关的博客文章。
这些示例显示了在应用程序中使用avr8js
的工作示例。他们中的许多人还演示了如何使用wokwi-elements
,包括组件功能模拟的工作示例,以及如何将它们连接到avr8js
。
注意:它们都托管在此存储库之外。
演示项目允许您编辑Arduino代码,编译并在模拟器中运行。它还模拟了与第12和13号引脚连接的2个LED(PB4和PB5)。
要运行演示项目,请查看此存储库,运行npm install
,然后运行npm start
。
该图书馆的重点是模拟Atmega328p ,这是Arduino Uno使用的MCU。
但是,该代码是以模块化的方式构建的,并且具有高度可配置,从而可以模拟AVR8家族的许多芯片,例如Atmega2560和Attiny系列:
Check out issue 67 and issue 73 for more information.
一次进行测试:
npm test
自从上次提交(观看模式)以来正在修改的文件的测试:
npm run test:watch
有关更多信息,请检查贡献指南。
版权(C)2019-2023 Uri摇晃。该代码按照MIT许可条款发布。