电子发烧友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年代操作系统interwetten与威廉的赔率体系 器而设计的。这里的项目展示了一个新开发的 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次下载  |  免费