13754|29

1万

帖子

25

TA的资源

版主

楼主
 

把STM32F746-Disco做AppleⅡ [复制链接]

 
 
本帖最后由 dcexpert 于 2016-1-4 11:25 编辑

今天是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)上。


更常用的方式是通过串口终端输入,直接使用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Ⅱ的感觉了。

参考文件
  • 项目网站
  • BIN文件,用ST-LINK Utility写入开发板。 F746_MMBasic_va64.zip (161.16 KB, 下载次数: 71)
  • PDF手册。 MMBasic_F746_VA64.pdf (306.27 KB, 下载次数: 67)


最新回复

dcexpert这是要试过所有的高级语言啊,佩服。  详情 回复 发表于 2016-6-12 10:46

赞赏

4

查看全部赞赏

点赞 关注(4)
 
 

回复
举报

1158

帖子

2

TA的资源

版主

沙发
 
有点666
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不錯!
 
 
 

回复

6040

帖子

203

TA的资源

版主

4
 
太强大了!
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(中级)

5
 
 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

6
 
  不错。。。
个人签名
分享铸就美好未来。。。




 
 
 

回复

51

帖子

0

TA的资源

一粒金砂(中级)

7
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

8
 
Basic命令不知道现在用的多不多了,不过Python现在倒是很流行,用起来也比较方便,还是跨平台的,之前看到有个在STM32F4上运行python的项目,移植到746上的话能做的应该更多

点评

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

回复

1万

帖子

25

TA的资源

版主

9
 
xijiele 发表于 2016-1-5 19:24
Basic命令不知道现在用的多不多了,不过Python现在倒是很流行,用起来也比较方便,还是跨平台的,之前看到 ...

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

还没有看到STM32F4的python项目介绍,能不能介绍一下?

点评

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

回复

19

帖子

0

TA的资源

一粒金砂(中级)

10
 
dcexpert 发表于 2016-1-5 21:27
python的功能比basic强,可以做更复杂的应用。basic适合做点小东西,胜在简单方便,门槛低,也适合怀旧。 ...

百度上搜一下STM32 python就有了,叫MicroPython,只是听说过,还没怎么具体了解呢

点评

已经找到了,多谢。在 https://micropython.org 是个不错的开源项目。不知道论坛网友有没有想DIY的。  详情 回复 发表于 2016-1-6 22:05
 
 
 

回复

1万

帖子

25

TA的资源

版主

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

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


点评

micropython 这个项目早就想搞,但是搭建环境没搞定,而且最python的这种IDE的环境不熟悉,版主带个头搞呗  详情 回复 发表于 2016-1-7 10:11
 
 
 

回复

831

帖子

5

TA的资源

一粒金砂(高级)

12
 
6666666666666
 
 
 

回复

1403

帖子

1

TA的资源

纯净的硅(中级)

13
 
看起来很好玩的样子~
个人签名HELLO_WATER
 
 
 

回复

2056

帖子

0

TA的资源

五彩晶圆(初级)

14
 
dcexpert 发表于 2016-1-6 22:05
已经找到了,多谢。在 https://micropython.org 是个不错的开源项目。不知道论坛网友有没有想DIY的。

...

micropython 这个项目早就想搞,但是搭建环境没搞定,而且最python的这种IDE的环境不熟悉,版主带个头搞呗

点评

python我也不熟悉,但应该不难学。micropython 做产品不合适,但是用于DIY不错。看看大家有没有想一起学习的。  详情 回复 发表于 2016-1-7 11:22
 
 
 

回复

828

帖子

190

TA的资源

管理员

15
 
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名在路上……

EEworld 有你有我
 
 
 

回复

1万

帖子

25

TA的资源

版主

16
 
IC爬虫 发表于 2016-1-7 10:11
micropython 这个项目早就想搞,但是搭建环境没搞定,而且最python的这种IDE的环境不熟悉,版主带个头搞 ...

python我也不熟悉,但应该不难学。micropython 做产品不合适,但是用于DIY不错。看看大家有没有想一起学习的。
 
 
 

回复

143

帖子

0

TA的资源

一粒金砂(中级)

17
 
这个不错呀,多谢分享,我也来学习学习,看来MBED越来越强大了,我要加强学习,不然就落后了
 
 
 

回复

96

帖子

5

TA的资源

一粒金砂(中级)

18
 

 
 
 

回复

337

帖子

2

TA的资源

纯净的硅(初级)

19
 
这个东西确实挺有意思,研究研究
 
 
 

回复

356

帖子

0

TA的资源

一粒金砂(中级)

20
 
太有趣了!!!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表