Board

ESP32 simulator, the classic one, on an Xtensa core

Mokxi memodelkan DOIT ESP32 DevKit V1 tiga puluh pin: ESP32-WROOM-32 dengan Xtensa LX6 240 MHz, GPIO matrix, IO_MUX, ketiga UART, timer group 0, ADC1, dan pengendali PWM LEDC, pada alamat yang sebenarnya. Satu core, bukan dua, dan tanpa radio (WiFi di sini disimulasikan, dan dinyatakan begitu), dan kontrak menyebut persis di mana setiap batasnya.

  • 10area periferal dimodelkan
  • 24proyek siap dijalankan
  • Waktu nyatadi mesinmu sendiri
ESP32 DevKit V1: blinklive0.000 s 0.00x
Klik untuk membukanya di editor
Board ini menjalankan firmware sungguhan sekarang. Klik untuk membuka rangkaian di editor.
Modelnya

Apa yang dimodelkan

Diambil dari dokumen kontrak board itu sendiri dan ditulis dengan kata-kata sederhana, beserta apa yang belum ada di sampingnya.

Dimodelkan

Core
Xtensa LX6 dalam windowed ABI, enam puluh empat register alamat, handler window overflow dan underflow, satu instruksi per siklus pada 240 MHz
Memori
RAM instruksi 128 KB di 0x4008_0000 dan RAM data 192 KB di 0x3FFB_0000, dipisahkan seperti ESP-IDF memisahkannya
GPIO matrix dan IO_MUX
Empat puluh pin dengan pemisahan dua register yang sebenarnya, pull dan input enable per pad, dan GPIO 34 sampai 39 ditolak sebagai output, karena chip tidak punya driver di sana
UART0
Dengan kecepatan sesuai baud rate yang diatur, tersambung ke Serial Monitor
UART1 dan UART2
Serial1 dan Serial2 di pin mana pun yang disebut begin(), lewat GPIO matrix: frame sungguhan di kabel, bit demi bit, pada kecepatan yang benar-benar diberikan pembagi, dengan buffer terima milik driver core
Timer group 0
Timer 0 dengan tick satu mikrodetik di belakang millis() dan micros(); delay() memarkir core di CCOMPARE0, bukan berputar menunggu
ADC1
Dua belas bit pada delapan kanal sebenarnya (GPIO 36, 37, 38, 39, 32, 33, 34, dan 35) dengan empat atenuasi, dan 11 dB mengikuti kurva komponen sungguhan sampai 4095 pada sekitar 3,1 V
LEDC
Grup kecepatan tinggi: empat timer dan delapan kanal di pin mana pun yang punya driver output, di balik analogWrite, ledcAttach, dan ledcWrite
Interrupt matrix
Sumbernya dirutekan seperti hardware merutekannya, sehingga attachInterrupt adalah tiga penulisan, bukan satu
WiFi, disimulasikan
WiFi.h, HTTPClient.h, dan WebServer.h di atas jaringan yang ditulis dalam software: tanpa radio, tanpa 802.11, dan internet sungguhan hanya saat kamu masuk dan mengaktifkannya

Tidak dimodelkan

  • Radio jenis apa pun. Tidak ada 802.11 dan tidak ada radio Bluetooth dalam model. WiFi dan Bluetooth disimulasikan sebagai gantinya (API Arduino di atas jaringan buatan kami yang menjangkau internet sungguhan hanya saat kamu masuk dan mengaktifkannya, dan HP di panel Bluetooth editor), dan setiap halaman yang menyebutnya menyatakan hal itu.
  • Core kedua. ESP32 sungguhan punya dua core LX6; model ini menjalankan core PRO, sehingga apa pun yang memulai task di core 1 tidak akan berjalan.
  • FPU: biner hard-float yang dibangun di tempat lain fault pada instruksi float pertamanya. Sketch yang dibangun di sini soft float, sehingga matematika float bekerja.
  • Cache, flash, dan PSRAM, RTC dan ULP, deep sleep, ADC2, sensor sentuh dan hall, I2C, SPI, I2S, dan RMT.
  • Beberapa alamat (urutan pad IO_MUX, tata letak timer group dan LEDC, offset SENS, nomor interrupt matrix, dan indeks sinyal GPIO matrix yang dipakai LEDC) adalah keyakinan model ini, bukan sesuatu yang bisa dijaminnya. Bagian 6 kontrak menyebut semuanya.
Mulai dari sini

Buka salah satu dan tekan Jalankan

Masing-masing terbuka di editor persis seperti yang digambar di sini.

Pertanyaan

Apakah gratis?

Ya. Setiap board dan setiap komponen ada di paket gratis, tanpa akun.

Bisakah aku mengompilasi sketch-ku sendiri untuknya?

Ya. Edit sketch dan tekan Jalankan: dikompilasi di tab dengan clang untuk Xtensa, dan panel build menampilkan setiap langkah. Tidak ada yang diunggah. Matematika floating-point bekerja: browser membangunnya sebagai soft float, seperti di setiap board lain di sini.

Apakah mensimulasikan WiFi atau Bluetooth?

Keduanya, disimulasikan, dan itu dinyatakan terang-terangan. Bluetooth adalah HP di panel Bluetooth editor, bukan radio. Sketch-mu memakai panggilan Arduino yang sebenarnya (WiFi.begin, WiFi.status, HTTPClient, WebServer), dan board bergabung ke jaringan, mengambil halaman, dan menyajikan satu. Di bawahnya tidak ada radio dan tidak ada 802.11. Empat alamat rekaan di bawah .mokxi menjawab di dalam tab ini. Setelah masuk, kamu bisa mengaktifkan Real internet di panel Cloud, dan permintaan HTTP dan HTTPS ke host sungguhan keluar lewat gateway Mokxi.

Mengapa pinMode(34, OUTPUT) tidak berfungsi?

Karena di chip aslinya juga tidak berfungsi. GPIO 34 sampai 39 punya buffer input dan sama sekali tidak punya driver output. Mokxi menolak penulisan itu seperti silikonnya, menghitungnya, dan memberi tanda kecil berwarna amber di board, supaya kamu tidak mengira pin itu menggerakkan sesuatu.

Mengapa potensiometerku mencapai 4095 sebelum ujung putarannya?

Karena pada atenuasi 11 dB bawaan, pembacaan mentah ESP32 sungguhan jenuh sekitar 3,1 V, kurang dari rel 3,3 V, dan melengkung di jalan menuju ke sana: tengah pot terbaca sekitar 1890, bukan 2048. Mokxi memodelkan kurva itu, dan contoh knob mencetak angka mentahnya supaya tidak menjadi misteri.

Ini board 30 pin atau 38 pin?

DOIT DevKit V1 tiga puluh pin. Espressif DevKitC 38 pin berjarak satu inci penuh antar baris header dan mengeluarkan enam pin lagi: nomor GPIO-nya milik chip yang sama, posisinya tidak.

Apakah menjalankan kedua core?

Satu. Core PRO berjalan; tidak ada APP CPU dan tidak ada FreeRTOS untuk menjadwalkan di antara keduanya, sehingga sketch setup()/loop() tidak masalah dan xTaskCreatePinnedToCore tidak.

Coba dengan firmware-mu sendiri

Apa yang kamu buat di sini berjalan di board di mejamu, tanpa diubah. Tanpa instal dan tanpa akun.