電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>基于ESP32和FabGL的 BASIC 解釋器代碼實(shí)現(xiàn)

基于ESP32和FabGL的 BASIC 解釋器代碼實(shí)現(xiàn)

2023-06-21 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

教程是關(guān)于在 FabGL 和 ESP32 微控制器系列的基礎(chǔ)上用 BASIC 解釋器構(gòu)建一個(gè) 80 年代風(fēng)格的家用電腦。該系統(tǒng)支持聲音、圖形和網(wǎng)絡(luò)。輸入設(shè)備是PS2鍵盤。

微控制器硬件是TTGO生產(chǎn)的一塊板子,已經(jīng)安裝了VGA、PS2和音頻插座。它最初是為復(fù)古計(jì)算和運(yùn)行70年代和80年代操作系統(tǒng)模擬器而設(shè)計(jì)的。這里的項(xiàng)目展示了一個(gè)新開發(fā)的 BASIC 解釋器。

由于軟件設(shè)置和電路板的一些功能不完全是初學(xué)者水平,我被要求發(fā)布一個(gè)關(guān)于細(xì)節(jié)的教程。這里是。

poYBAGSAcxyAT3KIAADVf-U6ybQ690.png

鍵盤和顯示器

你需要什么

要構(gòu)建計(jì)算機(jī),您將需要以下硬件組件:

TTGO ESP32 顯示板。我直接從全球速賣通的貨源那里得到了我的。目前價(jià)格約為 15 歐元。

VGA 顯示器或帶有 VGA 輸入和 VGA 電纜的舊電視機(jī)。

PS2鍵盤。

5V供電,最好帶2A電源輸出。

微型 SD 卡。

帶 3.5mm AUX 輸入的揚(yáng)聲器

所需的軟件組件是

Arduino IDE,版本 1.8.15 或更高版本。

ESP32 開發(fā)板定義。

FabGL 庫。

有關(guān)這些庫的詳細(xì)信息以及如何將它們放在一起的詳細(xì)信息將在本教程中進(jìn)一步介紹。這很簡單,但需要注意庫版本和設(shè)置。

簡要了解 TTGO 董事會(huì)

poYBAGSAcx6AQpDcAAA-M5j8DAc816.png

該板專為復(fù)古計(jì)算和游戲而設(shè)計(jì)。它的核心是一個(gè)ESP32微控制器。該芯片驅(qū)動(dòng)計(jì)算機(jī)的所有功能。聲音信號(hào)、VGA 信號(hào)和鍵盤處理都在軟件中完成。

它有一個(gè) VGA 連接器,使用 8 個(gè) ESP32 的 GPIO 引腳。鼠標(biāo)和鍵盤連接器使用另外 4 個(gè)引腳。SPI 總線連接到板上的 SD 卡插槽??梢允褂脴?biāo)準(zhǔn)微型 SD 卡??偩€也在電源插頭旁邊的一小塊區(qū)域引出。SPI 在引腳 12、2 和 14 上,其中 13 是 SD 卡的芯片選擇。引腳 39 和 34 也可免費(fèi)使用。

pYYBAGSAcyGAcXB7AAFsjMJjLlA927.jpg

該板設(shè)計(jì)用于 FabGL 庫http://www.fabglib.org 。該庫包含許多有用的軟件組件,如聲音發(fā)生器、ASCII 終端和仿真器。該庫可以從 repo 或 Arduino IDE 庫管理器下載。

憑借其 520 kB RAM,它有足夠的內(nèi)存用于圖形緩沖區(qū)和用戶程序。時(shí)間和中斷在板上很棘手。軟件開發(fā)對(duì)初學(xué)者來說沒什么。

下載軟件組件

您將需要 Arduino IDE,版本 1.8.15 或更高版本。我自己在1.8.15上開發(fā),不時(shí)在2.0上測試。IDE 可以從https://www.arduino.cc/en/software 下載。

除了 Arduino IDE,您可能還需要一些 USB 轉(zhuǎn)串口芯片的驅(qū)動(dòng)程序。有些與 IDE 捆綁在一起。ESP 網(wǎng)站上有一些關(guān)于驅(qū)動(dòng)程序的信息。在這里可以找到分步安裝指南https://www.instructables.com/Installing-ESP32-on-Arduino-IDE-the-Easy-Method/

讀取開發(fā)環(huán)境的下一步是安裝板定義。轉(zhuǎn)到 Arduino IDE 的首選項(xiàng)菜單。在底部,您會(huì)看到一個(gè)用于附加板 URLS 的框。添加以下行

?

?

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json

?

?

如圖所示。

pYYBAGSAcyOAXt67AAHAGT9cJug198.jpg

完成此操作后,您需要打開板管理器菜單并安裝 esp32 板定義。可以在此處找到一些屏幕截圖:https://www.instructables.com/Installing-ESP32-on-Arduino-IDE-the-Easy-Method/ 。

poYBAGSAcyWAc6qCAADAUi8EJQ8970.jpg

我使用的是 2.0.5 版。請(qǐng)確保您使用更新的 2.0.x 版本。最初的版本有點(diǎn)問題。

準(zhǔn)備好 IDE 后,您仍然需要下載 FabGL。轉(zhuǎn)到 Arduino IDE 的庫管理器并在搜索框中輸入 fabgl。下載最新版本。我現(xiàn)在使用 1.0.8。這經(jīng)過測試可與 ESP 2.0.5 板定義一起使用。舊版本的 FabGL 無法在 ESP 2.x 內(nèi)核上編譯。

現(xiàn)在你已經(jīng)設(shè)置好了 IDE。

下載并編譯 BASIC 解釋器

從我的倉庫https://github.com/slviajero/tinybasic/tree/main/IoTBasic下載 BASIC 解釋器。

該目錄中的所有文件都是必需的。IoTBasic.ino 是解釋器,basic.h 是頭文件,hardware-arduino.h 是硬件定義文件。IoTBasic 是一個(gè)功能齊全的 BASIC 解釋器,是使用各種來源的概念從頭開始開發(fā)的。

打開 IoTBasic.ino 以設(shè)置語言功能。在文件的開頭附近,您將看到硬件定義部分。確保它看起來像這樣

?

?

#define BASICFULL
#undef BASICINTEGER
#undef BASICSIMPLE
#undef BASICMINIMAL
#undef BASICTINYWITHFLOAT

?

?

這會(huì)激活解釋器的所有功能,包括字符串、數(shù)組、浮點(diǎn)運(yùn)算和其他一些新功能。

接下來查看 hardware-arduino.h。在部分

?

?

#undef USESPICOSERIAL 
#undef ARDUINOPS2
#undef ARDUINOUSBKBD
#undef ARDUINOZX81KBD
#undef ARDUINOPRT
#undef DISPLAYCANSCROLL
#undef ARDUINOLCDI2C
#undef ARDUINONOKIA51
#undef ARDUINOILI9488
#undef ARDUINOSSD1306
#undef ARDUINOMCUFRIEND
#undef ARDUINOGRAPHDUMMY
#undef LCDSHIELD
#undef ARDUINOTFT
#undef ARDUINOVGA
#undef ARDUINOEEPROM
#undef ARDUINOI2CEEPROM
#undef ARDUINOEFS
#undef ARDUINOSD
#undef ESPSPIFFS
#undef RP2040LITTLEFS
#undef ARDUINORTC
#undef ARDUINOWIRE
#undef ARDUINOWIRESLAVE
#undef ARDUINORF24
#undef ARDUINOETH
#undef ARDUINOMQTT
#undef ARDUINOSENSORS
#undef ARDUINOSPIRAM 
#undef STANDALONE

?

?

一切都應(yīng)該是#undef。這是回購協(xié)議中的默認(rèn)值。

再往下是電路板部分。這些是預(yù)定義的硬件設(shè)置。

?

?

#undef UNOPLAIN
#undef AVRLCD
#undef WEMOSSHIELD
#undef MEGASHIELD
#define TTGOVGA
#undef DUETFT
#undef MEGATFT
#undef NANOBOARD
#undef MEGABOARD
#undef UNOBOARD
#undef ESP01BOARD
#undef RP2040BOARD
#undef RP2040BOARD2
#undef ESP32BOARD
#undef MKR1010BOARD

?

?

確保只選擇了 TTGOVGA,所有其他設(shè)置都是#undef。

要編譯 BASIC 解釋器,請(qǐng)轉(zhuǎn)到開發(fā)板菜單的 ESP32 部分并為“TTGO T7 1.4 mini32”編譯。這是具有正確引出線的電路板定義。

編譯上傳。將電路板連接到鍵盤和顯示器。一段時(shí)間后,應(yīng)該會(huì)出現(xiàn)歡迎消息。

下一步是什么?

pYYBAGSAcyiAZvqjAAIoJt3htAA213.jpg

許多演示程序都移植了這種 BASIC 方言。您可以從示例部分的repo 文件夾https://github.com/slviajero/tinybasic/tree/main/examples下載演示。最好從教程開始。

使用 MANDELV.BAS 計(jì)算 Mandelbrot 集很有趣,而 ELIZA.BAS 是眾所周知的在線收縮。

https://github.com/slviajero/tinybasic/blob/main/MANUAL.md中有關(guān)于所有語言功能和命令的手冊(cè)。在這個(gè)特定的硬件上有一個(gè)特殊的部分https://github.com/slviajero/tinybasic/blob/main/MANUAL.md#esp32-vga-with-fabgl包括聲音命令。

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)