搜索
bottom↓
回复: 14

拖拽图形化编程在单片机上实现,全部源码,另附虚拟机

[复制链接]

出0入93汤圆

发表于 2020-11-30 10:49:24 | 显示全部楼层 |阅读模式
本帖最后由 takashiki 于 2020-11-30 11:40 编辑

图形化编程很早以前就有了,比如Matlab里面的simulink,比如RPG游戏的开发工具RPG Maker。现在广为人知的图形化编程工具大概就是Google开源的Blockly以及他的衍生产品,比如scratch,以及国内一大票修修改改过来的各种工具。
说实在话,图形化编程制约很大,我这个也是从Google Blockly上面修修改改过来的,连定义局部变量都不会-_-||
找到一门脚本语言,然后搞到单片机。直接解释脚本语言似乎还有点大,那么就做成虚拟机,编译成字节码,这样就小了,1~2KB甚至几百字节ROM几十字节RAM就够了。那就祭出我以前写的基于C4的虚拟机吧,在这里

首先是图形化工具,就是这个样子。因为要做一个很小的虚拟机,很多功能被我砍掉了,比如for循环就没有了,只有一个while了,而且还不能break、continue。

生成的C代码:因为局部变量不会搞,只好全局了,坑货。嫌麻烦就不吝啬括号了,呵呵。


把C代码复制下来保存为C文件,然后用我那个C4的编译器编译一下,得到bin文件,下载到单片机里面就可以运行了。

源代码在这里,因为是源码,所以没法直接在网页上编译生成bin,非得命令行一下。打包成exe后这个问题就不是问题了。
把design.html拖到浏览器中就可以用了,C4本来就很受制约,这个就更受制约了。做了这个工具以后,我决定我家小孩以后绝对不能学习这类图形化的少儿编程,还是要有码的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出20入186汤圆

发表于 2020-11-30 10:58:29 | 显示全部楼层
不错,楼主,我上次发过一个贴,后来我用 Blockly实现了LUA生成,然后下载到单片机,也能解决,然后把所有库封装成图形样式,比如写入电磁伐,编号可拖入数字,值也可以拖数字,

出20入186汤圆

发表于 2020-11-30 11:02:22 | 显示全部楼层

将自定义的库添加到符号中去


生成后的代码,LUA方式

后期包装一下,包装到我的APP中去,旁边再弄个一键下载,就完事了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出10入18汤圆

发表于 2020-11-30 11:04:21 | 显示全部楼层
好贴,支持。

出20入186汤圆

发表于 2020-11-30 11:04:24 | 显示全部楼层





LUA方式单片机移植特别简单,官方直接下载LUA,注释掉几个函数就可以移植到单片机中了
其乐无穷
没有任何基础的人都可以玩单片机了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出20入186汤圆

发表于 2020-11-30 11:08:33 | 显示全部楼层




再发两个代码多一点的图

WRITEY 尾部忘记加换行了,在JS代码里,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入42汤圆

发表于 2020-11-30 11:17:09 来自手机 | 显示全部楼层
这个可以,不错的,学习一下

出0入93汤圆

 楼主| 发表于 2020-11-30 11:24:35 | 显示全部楼层
yuyu87 发表于 2020-11-30 11:04
LUA方式单片机移植特别简单,官方直接下载LUA,注释掉几个函数就可以移植到单片机中了
其乐无穷
没有 ...

是的,官方默认支持好像是5个脚本语言,我这个也是在JavaScript基础上改的,因为语法类似。但我觉得lua对于单片机(比如51)来说还是有点大,所以才搞了个带虚拟机的C的。直接解释执行的最小的我只知道uBasic,虽然慢而且允许变量极少,但10kB ROM足够跑个解释器了。而且图形化编程说实在话,根本做不了什么大事,拖拉太累了,比有码的差远了,也就是给没有基础的用用。

出0入26汤圆

发表于 2020-11-30 11:28:09 | 显示全部楼层
大神能开发一个安卓的图形化吗?专门针对 电工行业的。比如蓝牙的BLE操作等。
上次就开发一个设备的上位机,本来PC端电工花几个小时就能搞定的软件,结果客户要求是手机端软件 ,外包出去花费2W,来来回回搞了一个多月才搞定。

出0入93汤圆

 楼主| 发表于 2020-11-30 11:32:08 | 显示全部楼层
xly 发表于 2020-11-30 11:28
大神能开发一个安卓的图形化吗?专门针对 电工行业的。比如蓝牙的BLE操作等。
上次就开发一个设备的上位机 ...

安卓的更简单,PC的都是HTML的,安卓可以用HTML的也可以用Java版的

出0入0汤圆

发表于 2020-11-30 11:47:41 来自手机 | 显示全部楼层
@9楼,没有试试过那个易安卓吗?  好久以前观摩研究了下

出0入0汤圆

发表于 2020-11-30 11:52:10 | 显示全部楼层
图形化编程 labview不是挺好的吗

出0入0汤圆

发表于 2020-11-30 13:32:17 | 显示全部楼层
楼主这个图形化编程可是大作哦!

出0入0汤圆

发表于 2020-11-30 14:15:43 | 显示全部楼层
这个和 scratch 有啥区别啊

出0入399汤圆

发表于 2020-11-30 14:28:08 | 显示全部楼层
同学搞教育方面的,帮他做项目就用的米思齐,有很多厂家库
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 01:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表