นี่คือไลบรารี JavaScript ที่ใช้สถาปัตยกรรม AVR 8 บิต
มันเป็นหัวใจ- แต่ไม่ใช่ทั้งร่างกาย- ของเครื่องจำลอง Arduino ที่ https://wokwi.com
AVR8js
ห้องสมุดนี้ใช้เฉพาะ AVR CPU Core คุณต้องจัดหารหัสเครื่องที่รวบรวมไว้ล่วงหน้าเพื่อเรียกใช้และใช้การจำลองการทำงานของฮาร์ดแวร์ภายนอกใด ๆ คุณอาจต้องการเพิ่มการแสดงเสียง/ภาพของฮาร์ดแวร์ภายนอกที่ถูกจำลอง
ไดอะแกรมแนวคิดคร่าวๆ:
Pre-Compiled machine code --> AVR8js <--> Glue code <--> external hardware functional simulation <--> simulation state display for the user
คุณอาจสนใจที่จะสำรวจคอลเลกชัน Wokwi Elements ขององค์ประกอบเว็บสำหรับการแสดงภาพของส่วนประกอบฮาร์ดแวร์ทั่วไปจำนวนมาก (หมายเหตุ: สิ่งเหล่านี้เป็นองค์ประกอบที่มองเห็นได้- คุณจะต้องเพิ่มการจำลองการทำงานที่เหมาะสมและรหัสกาว)
การสอนวิดีโอทีละขั้นตอนแสดงวิธีสร้างเครื่องจำลอง Arduino อย่างง่ายโดยใช้ AVR8JS และ React:
และโพสต์บล็อกที่เกี่ยวข้อง
ตัวอย่างเหล่านี้แสดงตัวอย่างการทำงานของการใช้ avr8js
ในแอปพลิเคชัน หลายคนแสดงให้เห็นถึงวิธีการใช้ wokwi-elements
และรวมถึงตัวอย่างการทำงานของการจำลองการทำงานของส่วนประกอบและวิธีการเชื่อมต่อพวกเขาไปที่ avr8js
หมายเหตุ: พวกเขาทั้งหมดเป็นเจ้าภาพนอก repo นี้
โครงการสาธิตช่วยให้คุณแก้ไขรหัส Arduino รวบรวมและเรียกใช้ในตัวจำลอง นอกจากนี้ยังจำลอง LED 2 ตัวที่เชื่อมต่อกับพิน 12 และ 13 (PB4 และ PB5)
ในการเรียกใช้โครงการสาธิตให้ตรวจสอบที่เก็บนี้ให้เรียกใช้ npm install
จากนั้น npm start
ห้องสมุดมุ่งเน้นไปที่การจำลอง ATMEGA328P ซึ่งเป็น MCU ที่ใช้โดย Arduino Uno
อย่างไรก็ตามรหัสถูกสร้างขึ้นในแบบแยกส่วนและสามารถกำหนดค่าได้สูงทำให้สามารถจำลองชิปจำนวนมากจากตระกูล AVR8 เช่น ATMEGA2560 และซีรี่ส์ ATTINY: ATTINY:
ตรวจสอบปัญหา 67 และฉบับที่ 73 สำหรับข้อมูลเพิ่มเติม
เรียกใช้การทดสอบหนึ่งครั้ง:
npm test
เรียกใช้การทดสอบของไฟล์ที่คุณแก้ไขตั้งแต่การประชุมครั้งล่าสุด (โหมดดู):
npm run test:watch
สำหรับข้อมูลเพิ่มเติมโปรดตรวจสอบคู่มือการสนับสนุน
ลิขสิทธิ์ (C) 2019-2023 URI Shaked รหัสถูกเผยแพร่ภายใต้ข้อกำหนดของใบอนุญาต MIT