把STM32F746-Disco做AppleⅡ

dcexpert   2016-1-1 23:55 楼主
今天是2016年的第一天,来一个有重量的帖子,在STM32F746-Disco上跑Basic。就是直接在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)上。 12.jpg 更常用的方式是通过串口终端输入,直接使用STLINK2的虚拟串口。 11.jpg 可以使用多种串口终端软件,如:putty、MobaXterm等。 1.jpg 我更习惯用超级终端,它有一个好处是支持用上下键快速调出以前输入的命令。 2.jpg 大家还记得basic指令吗?如果不记得了,需要找本书回忆一下了。注意在这里的指令是不区分大小写的。 先输入一个简单的程序打印出1到10,运行速度飞快。 13.jpg 用Line指令画直线也不错,语法是LINE (X1,Y1) - (X2,Y2), COLOR. 画圆也很容易,语法是CIRCLE(X,Y),RADIUS,COLOR,[FCOLOR],[F]。如果指定了最后的F参数,就是画实心圆。 14.jpg 可以用CLS命令清屏,CLS后面可以使用指定颜色进行清屏。 也可以用COLOR命令指定屏幕上的字体颜色和背景颜色:COLOR FONTCOLOR[, BACKCOLOR] 15.jpg 画矩形,一些命令的风格还不统一,很容易造成语法错误。 16.jpg 也画三角形、可旋转角度的矩形,还支持椭圆、polygon、显示图像、分层、3D物体等。 18.jpg 可以进行函数计算,支持常用的函数 17.jpg 使用MM.HRES、MM.VRES获取屏幕大小,MM.DEVICE$获取设备名称,MM.VER获取版本号。 20.jpg 还可以使用setpin和pin()控制GPIO 30.jpg STM32F746-Disco上只有一个用户LED和一个按键。LED对应GPIO号是14,button对应GPIO号23。GPIO可以设置为DIN、DOUT、AIN、OFF等4种状态。DIN模式下还可以设置内部上拉电阻状态:"NONE", "UP", "DOWN"。 下面的程序读取按键状态,然后设置LED状态。当按下按键时,LED会亮;释放按键时,LED灭。你可以输入程序代码后,在输入RUN运行试试。 31.jpg
  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Ⅱ的感觉了。 参考文件 本帖最后由 dcexpert 于 2016-1-4 11:25 编辑

回复评论 (29)

有点666
点赞  2016-1-2 09:18
不錯!
点赞  2016-1-2 15:09
太强大了!
点赞  2016-1-2 19:08
  不错。。。
分享铸就美好未来。。。
点赞  2016-1-4 13:09
点赞  2016-1-5 09:59
Basic命令不知道现在用的多不多了,不过Python现在倒是很流行,用起来也比较方便,还是跨平台的,之前看到有个在STM32F4上运行python的项目,移植到746上的话能做的应该更多
点赞  2016-1-5 19:24
引用: xijiele 发表于 2016-1-5 19:24
Basic命令不知道现在用的多不多了,不过Python现在倒是很流行,用起来也比较方便,还是跨平台的,之前看到 ...

python的功能比basic强,可以做更复杂的应用。basic适合做点小东西,胜在简单方便,门槛低,也适合怀旧。

还没有看到STM32F4的python项目介绍,能不能介绍一下?
点赞  2016-1-5 21:27
引用: dcexpert 发表于 2016-1-5 21:27
python的功能比basic强,可以做更复杂的应用。basic适合做点小东西,胜在简单方便,门槛低,也适合怀旧。 ...

百度上搜一下STM32 python就有了,叫MicroPython,只是听说过,还没怎么具体了解呢
点赞  2016-1-6 16:05
引用: xijiele 发表于 2016-1-6 16:05
百度上搜一下STM32 python就有了,叫MicroPython,只是听说过,还没怎么具体了解呢

已经找到了,多谢。在 https://micropython.org 是个不错的开源项目。不知道论坛网友有没有想DIY的。

pybv10-pinout.jpg
点赞  2016-1-6 22:05
6666666666666
点赞  2016-1-7 09:54
看起来很好玩的样子~
HELLO_WATER
点赞  2016-1-7 10:06
引用: dcexpert 发表于 2016-1-6 22:05
已经找到了,多谢。在 https://micropython.org 是个不错的开源项目。不知道论坛网友有没有想DIY的。

...

micropython 这个项目早就想搞,但是搭建环境没搞定,而且最python的这种IDE的环境不熟悉,版主带个头搞呗
点赞  2016-1-7 10:11
在路上…… EEworld 有你有我
点赞  2016-1-7 10:11
引用: IC爬虫 发表于 2016-1-7 10:11
micropython 这个项目早就想搞,但是搭建环境没搞定,而且最python的这种IDE的环境不熟悉,版主带个头搞 ...

python我也不熟悉,但应该不难学。micropython 做产品不合适,但是用于DIY不错。看看大家有没有想一起学习的。
点赞  2016-1-7 11:22
这个不错呀,多谢分享,我也来学习学习,看来MBED越来越强大了,我要加强学习,不然就落后了
点赞  2016-1-7 22:08
QQ图片20160108095728.png
点赞  2016-1-8 09:57
这个东西确实挺有意思,研究研究
点赞  2016-1-8 10:09
太有趣了!!!
点赞  2016-1-8 12:04
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复