在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>基于ESP32和FabGL的 BASIC 解釋器代碼實現

基于ESP32和FabGL的 BASIC 解釋器代碼實現

2023-06-21 | zip | 0.00 MB | 次下載 | 免費

資料介紹

教程是關于在 FabGL 和 ESP32 微控制器系列的基礎上用 BASIC 解釋器構建一個 80 年代風格的家用電腦。該系統支持聲音、圖形和網絡。輸入設備是PS2鍵盤。

微控制器硬件是TTGO生產的一塊板子,已經安裝了VGA、PS2和音頻插座。它最初是為復古計算和運行70年代和80年代操作系統模擬器而設計的。這里的項目展示了一個新開發的 BASIC 解釋器。

由于軟件設置和電路板的一些功能不完全是初學者水平,我被要求發布一個關于細節的教程。這里是。

poYBAGSAcxyAT3KIAADVf-U6ybQ690.png

鍵盤和顯示器

你需要什么

要構建計算機,您將需要以下硬件組件:

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

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

PS2鍵盤。

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

微型 SD 卡。

帶 3.5mm AUX 輸入的揚聲器

所需的軟件組件是

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

ESP32 開發板定義。

FabGL 庫。

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

簡要了解 TTGO 董事會

poYBAGSAcx6AQpDcAAA-M5j8DAc816.png

該板專為復古計算和游戲而設計。它的核心是一個ESP32微控制器。該芯片驅動計算機的所有功能。聲音信號、VGA 信號和鍵盤處理都在軟件中完成。

它有一個 VGA 連接器,使用 8 個 ESP32 的 GPIO 引腳。鼠標和鍵盤連接器使用另外 4 個引腳。SPI 總線連接到板上的 SD 卡插槽。可以使用標準微型 SD 卡。總線也在電源插頭旁邊的一小塊區域引出。SPI 在引腳 12、2 和 14 上,其中 13 是 SD 卡的芯片選擇。引腳 39 和 34 也可免費使用。

pYYBAGSAcyGAcXB7AAFsjMJjLlA927.jpg

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

憑借其 520 kB RAM,它有足夠的內存用于圖形緩沖區和用戶程序。時間和中斷在板上很棘手。軟件開發對初學者來說沒什么。

下載軟件組件

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

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

讀取開發環境的下一步是安裝板定義。轉到 Arduino IDE 的首選項菜單。在底部,您會看到一個用于附加板 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 版。請確保您使用更新的 2.0.x 版本。最初的版本有點問題。

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

現在你已經設置好了 IDE。

下載并編譯 BASIC 解釋器

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

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

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

?

?

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

?

?

這會激活解釋器的所有功能,包括字符串、數組、浮點運算和其他一些新功能。

接下來查看 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

?

?

一切都應該是#undef。這是回購協議中的默認值。

再往下是電路板部分。這些是預定義的硬件設置。

?

?

#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,所有其他設置都是#undef。

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

編譯上傳。將電路板連接到鍵盤和顯示器。一段時間后,應該會出現歡迎消息。

下一步是什么?

pYYBAGSAcyiAZvqjAAIoJt3htAA213.jpg

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

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

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

?

評論

查看更多

下載排行

本周

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

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 性xxx中文视频 | 26uuu另类欧美亚洲曰本 | 久久综合色88 | 久久综合九色综合精品 | 日本老师xxxxxxxxx79 | 国产片一区二区三区 | 午夜女上男下xx00xx00动态 | 乱色伦图片区 | 男女透逼视频 | 农村三级毛片 | 亚洲综合亚洲综合网成人 | 性欧美大战久久久久久久久 | 五月天欧美 | 黄网地址 | 天堂资源www天堂在线 | 午夜免费啪视频观看网站 | 好爽好深太大了再快一点 | 午夜湿| 久久精品亚洲精品国产色婷 | 五月sese| 日本黄色一级网站 | 好大好硬好深好爽的视频 | 欧美午夜激情影院 | 香港三级理论在线影院 | 欧美黑人xxxxxxxxxx | 亚洲啪啪网站 | 天堂资源最新版在线官网 | 最新在线视频 | 国产精品视频一区国模私拍 | 亚洲色吧 | 香蕉视频网站在线播放 | 性刺激的欧美三级视频 | 天天精品| 伊人久久亚洲综合天堂 | 女人被狂躁视频网站免费 | 男人天堂网址 | 狠狠色丁香婷婷综合小时婷婷 | 成年女人免费看一级人体片 | 毛片8| 四虎影院国产精品 | 欧美h视频|