就是直接在STM32F746-Disco开发板上运行MMBasic解释器,可以执行标准的Basic命令、函数计算、图形显示、GPIO控制、串口、SPI、I2C等等。开发板的液晶屏做为屏幕输出,可以通过串口终端或者USB键盘输入指令。从某种意义上看,就是把STM32F746-Disco开发板做为AppleⅡ,但是性能比AppleⅡ可强多了。要知道AppleⅡ的CPU是只有1M的6502,RAM也只有4KB。

这是国外的一个基于MMBasic的移植项目,因为程序还没有完成,暂时没有提供源码,但是有编译后的BIN文件可以先体验。我们把程序先下到开发板种去体验一下。

可以通过USB键盘输入,需要一根USBOTG线,并且只能接在CN13(USB_FS)上。

更常用的方式是通过串口终端输入,直接使用STLINK2的虚拟串口。

可以使用多种串口终端软件,如:putty、MobaXterm等。

我更习惯用超级终端,它有一个好处是支持用上下键快速调出以前输入的命令。

大家还记得basic指令吗?如果不记得了,需要找本书回忆一下了。注意在这里的指令是不区分大小写的。

先输入一个简单的程序打印出1到10,运行速度飞快。

用Line指令画直线也不错,语法是LINE (X1,Y1) – (X2,Y2), COLOR.

画圆也很容易,语法是CIRCLE(X,Y),RADIUS,COLOR,[FCOLOR],[F]。如果指定了最后的F参数,就是画实心圆。

可以用CLS命令清屏,CLS后面可以使用指定颜色进行清屏。

也可以用COLOR命令指定屏幕上的字体颜色和背景颜色:COLOR FONTCOLOR[, BACKCOLOR]

画矩形,一些命令的风格还不统一,很容易造成语法错误。

也画三角形、可旋转角度的矩形,还支持椭圆、polygon、显示图像、分层、3D物体等。

可以进行函数计算,支持常用的函数

使用MM.HRES、MM.VRES获取屏幕大小,MM.DEVICE$获取设备名称,MM.VER获取版本号。

还可以使用setpin和pin()控制GPIO

STM32F746-Disco上只有一个用户LED和一个按键。LED对应GPIO号是14,button对应GPIO号23。GPIO可以设置为DIN、DOUT、AIN、OFF等4种状态。DIN模式下还可以设置内部上拉电阻状态:"NONE", "UP", "DOWN"。

下面的程序读取按键状态,然后设置LED状态。当按下按键时,LED会亮;释放按键时,LED灭。你可以输入程序代码后,在输入RUN运行试试。

  1. 10 SetPin 14, dout

  2. 20 SetPin 23, din

  3. 30 Do

  4. 40 Pin(14)=Pin(23)

  5. 50 Loop Until 0

复制代码

是不是比较有趣。如果在配一个外壳、键盘,就和一个小型主机一样了,可以体验一下早期的AppleⅡ的感觉了。

以上图文内容均是EEWORLD论坛网友:dcexpert原创,在此感谢。

欢迎微博@EEWORLD

如果你也写过此类原创干货请关注微信公众号:EEWORLD(电子工程世界)回复“投稿”,一经入选,我们将帮你登上头条!

与更多行业内网友进行交流请登陆EEWORLD论坛。

相关推荐