資料介紹
本教程是關(guān)于在 FabGL 和 ESP32 微控制器系列的基礎(chǔ)上用 BASIC 解釋器構(gòu)建一個 80 年代風(fēng)格的家用電腦。該系統(tǒng)支持聲音、圖形和網(wǎng)絡(luò)。輸入設(shè)備是PS2鍵盤。
微控制器硬件是TTGO生產(chǎn)的一塊板子,已經(jīng)安裝了VGA、PS2和音頻插座。它最初是為復(fù)古計算和運(yùn)行70年代和80年代操作系統(tǒng)的模擬器而設(shè)計的。這里的項(xiàng)目展示了一個新開發(fā)的 BASIC 解釋器。
由于軟件設(shè)置和電路板的一些功能不完全是初學(xué)者水平,我被要求發(fā)布一個關(guān)于細(xì)節(jié)的教程。這里是。
鍵盤和顯示器
你需要什么
要構(gòu)建計算機(jī),您將需要以下硬件組件:
TTGO ESP32 顯示板。我直接從全球速賣通的貨源那里得到了我的。目前價格約為 15 歐元。
VGA 顯示器或帶有 VGA 輸入和 VGA 電纜的舊電視機(jī)。
PS2鍵盤。
微型 SD 卡。
帶 3.5mm AUX 輸入的揚(yáng)聲器
所需的軟件組件是
Arduino IDE,版本 1.8.15 或更高版本。
ESP32 開發(fā)板定義。
FabGL 庫。
有關(guān)這些庫的詳細(xì)信息以及如何將它們放在一起的詳細(xì)信息將在本教程中進(jìn)一步介紹。這很簡單,但需要注意庫版本和設(shè)置。
簡要了解 TTGO 董事會
該板專為復(fù)古計算和游戲而設(shè)計。它的核心是一個ESP32微控制器。該芯片驅(qū)動計算機(jī)的所有功能。聲音信號、VGA 信號和鍵盤處理都在軟件中完成。
它有一個 VGA 連接器,使用 8 個 ESP32 的 GPIO 引腳。鼠標(biāo)和鍵盤連接器使用另外 4 個引腳。SPI 總線連接到板上的 SD 卡插槽??梢允褂脴?biāo)準(zhǔn)微型 SD 卡??偩€也在電源插頭旁邊的一小塊區(qū)域引出。SPI 在引腳 12、2 和 14 上,其中 13 是 SD 卡的芯片選擇。引腳 39 和 34 也可免費(fèi)使用。
該板設(shè)計用于 FabGL 庫http://www.fabglib.org 。該庫包含許多有用的軟件組件,如聲音發(fā)生器、ASCII 終端和仿真器。該庫可以從 repo 或 Arduino IDE 庫管理器下載。
憑借其 520 kB RAM,它有足夠的內(nèi)存用于圖形緩沖區(qū)和用戶程序。時間和中斷在板上很棘手。軟件開發(fā)對初學(xué)者來說沒什么。
下載軟件組件
您將需要 Arduino IDE,版本 1.8.15 或更高版本。我自己在1.8.15上開發(fā),不時在2.0上測試。IDE 可以從https://www.arduino.cc/en/software 下載。
除了 Arduino IDE,您可能還需要一些 USB 轉(zhuǎn)串口芯片的驅(qū)動程序。有些與 IDE 捆綁在一起。ESP 網(wǎng)站上有一些關(guān)于驅(qū)動程序的信息。在這里可以找到分步安裝指南https://www.instructables.com/Installing-ESP32-on-Arduino-IDE-the-Easy-Method/
讀取開發(fā)環(huán)境的下一步是安裝板定義。轉(zhuǎn)到 Arduino IDE 的首選項(xiàng)菜單。在底部,您會看到一個用于附加板 URLS 的框。添加以下行
?
?
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
?
?
如圖所示。
完成此操作后,您需要打開板管理器菜單并安裝 esp32 板定義。可以在此處找到一些屏幕截圖:https://www.instructables.com/Installing-ESP32-on-Arduino-IDE-the-Easy-Method/ 。
我使用的是 2.0.5 版。請確保您使用更新的 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 是一個功能齊全的 BASIC 解釋器,是使用各種來源的概念從頭開始開發(fā)的。
打開 IoTBasic.ino 以設(shè)置語言功能。在文件的開頭附近,您將看到硬件定義部分。確保它看起來像這樣
?
?
#define BASICFULL #undef BASICINTEGER #undef BASICSIMPLE #undef BASICMINIMAL #undef BASICTINYWITHFLOAT
?
?
這會激活解釋器的所有功能,包括字符串、數(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 解釋器,請轉(zhuǎn)到開發(fā)板菜單的 ESP32 部分并為“TTGO T7 1.4 mini32”編譯。這是具有正確引出線的電路板定義。
編譯上傳。將電路板連接到鍵盤和顯示器。一段時間后,應(yīng)該會出現(xiàn)歡迎消息。
下一步是什么?
許多演示程序都移植了這種 BASIC 方言。您可以從示例部分的repo 文件夾https://github.com/slviajero/tinybasic/tree/main/examples下載演示。最好從教程開始。
使用 MANDELV.BAS 計算 Mandelbrot 集很有趣,而 ELIZA.BAS 是眾所周知的在線收縮。
https://github.com/slviajero/tinybasic/blob/main/MANUAL.md中有關(guān)于所有語言功能和命令的手冊。在這個特定的硬件上有一個特殊的部分https://github.com/slviajero/tinybasic/blob/main/MANUAL.md#esp32-vga-with-fabgl包括聲音命令。
?
- 樂鑫ESP32_技術(shù)規(guī)格書
- 樂鑫ESP32_技術(shù)參考手冊
- 樂鑫ESP32_藍(lán)牙配網(wǎng)用戶指南
- 樂鑫ESP32_藍(lán)牙架構(gòu)用戶指南
- 樂鑫ESP32-MINI-1參考設(shè)計
- 樂鑫ESP32_ECO_V3_使用指南
- 樂鑫ESP32_Bug_描述及解決方案
- 樂鑫ESP32-SenseKit參考設(shè)計
- 樂鑫ESP32-WROVER_技術(shù)規(guī)格書
- 樂鑫ESP32-WROOM-32UE參考設(shè)計
- 樂鑫ESP32-WROOM-32_技術(shù)規(guī)格書
- 樂鑫ESP32-WROVER-E-V1.2參考設(shè)計
- 樂鑫ESP32-WROOM-32E-V1.2參考設(shè)計
- 樂鑫ESP32-WROVER-IE-V1.2參考設(shè)計
- esp32-s3_datasheet
- ESP32能取代STM32嗎?哪個更好? 2383次閱讀
- 基于ESP32-S3的高性能開發(fā)板介紹 8722次閱讀
- ESP32-C3硬件定時器簡介及使用 4259次閱讀
- 什么是ESP32-CAM攝像頭? 2.1w次閱讀
- 基于ESP32的簡易web服務(wù)器設(shè)計 3305次閱讀
- ESP32 OTA無線更新系列——Basic OTA 4178次閱讀
- 使用ESP32連接騰訊云實(shí)現(xiàn)遠(yuǎn)程控制 3240次閱讀
- 介紹一個使用ESP32模塊開發(fā)的信息顯示器 2179次閱讀
- 使用ESP32實(shí)現(xiàn)UDP通信的方法 5727次閱讀
- ESP8266/ESP32自動下載原理 4249次閱讀
- ESP32的數(shù)字遙測實(shí)現(xiàn) 1521次閱讀
- 如何利用ESP32實(shí)現(xiàn)太陽能氣象站的設(shè)計 4281次閱讀
- 如何在ESP32上使用代碼運(yùn)行TensorFlow模型? 4526次閱讀
- 基于一個micro USB連接器串行IC對ESP32芯片實(shí)現(xiàn)編程 3063次閱讀
- dfrobotBeetle-ESP32控制器簡介 2695次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多