搜索
bottom↓
回复: 102

状态机代码自动生成工具

  [复制链接]

出0入17汤圆

发表于 2014-1-21 16:13:16 | 显示全部楼层 |阅读模式
       拜读了傻小孩、上官等大神关于的状态机的帖子,受益匪浅。感觉状态机在他们手中以及被玩的出神入化了,初学者需要花不少时间才能理解其中的奥秘。相比而言我今天给大家分享的这个状态机代码生成工具就比较“接地气”了。
    状态机的代码有个特征是结构化比较明显,比较适合自动生成。类似的状态机代码生成工具有IAR的visualSTATE、matlab以及一些专业工具等,但这些工具要么直接生成二进制代码,要么需要花时间去熟悉。我的这个状态机代码生成工具具有以下几个特点:
1.快速上手,几分钟就能学会使用
2.支持状态化简功能,能够自动发现等效状态并将其合并(状态化简使用了图的DFS遍历算法)
3.可生成switch case形式和函数指针形式两种形式的代码
4.仅支持一级和一维的且不支持阻塞最简单的状态机,但有的时候简单的才是最有效的
    详细的step by step的使用说明在附件中的文档中找到。工具我测试过,但不能保证没有bug,欢迎大家指出使用的过程中发现的bug。
    状态机是一种高屋建瓴的思维模式去解决问题的方法,能够加快设计到实现的过程。最后希望这个工具能够让初学者爱上状态机




本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。

如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》

出0入54汤圆

发表于 2014-1-21 16:28:56 | 显示全部楼层
沙发???

出0入0汤圆

发表于 2014-1-21 16:30:16 | 显示全部楼层
差点就沙发了

出0入0汤圆

发表于 2014-1-21 16:38:27 | 显示全部楼层
学习了 !~~~

出0入4汤圆

发表于 2014-1-21 16:52:30 | 显示全部楼层
留下脚印,以后再看

出0入147汤圆

发表于 2014-1-21 17:07:09 | 显示全部楼层
不错,楼主能再接再励做个图形化界面就更好了。
我们现在开发做架构都是用Simulink的StateFlow工具来建模,配合AutoBox做仿真,最后能直接生成C代码。

出0入0汤圆

发表于 2014-1-21 17:08:23 | 显示全部楼层
支持
粗略看了一下 跟TI的很像
不知道化简功能如何

出0入58汤圆

发表于 2014-1-21 17:17:47 | 显示全部楼层
先mark再细看!

出0入0汤圆

发表于 2014-1-21 17:20:52 | 显示全部楼层
mark






出0入0汤圆

发表于 2014-1-21 17:23:29 | 显示全部楼层
推荐一个功能更强的,我一直用它,感觉比visualSTATE好用:
http://sourceforge.net/projects/fsme/?source=directory

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2014-1-21 17:24:01 | 显示全部楼层
不知道和visualstate比有啥优势

出0入8汤圆

发表于 2014-1-21 17:29:08 | 显示全部楼层
顶顶再看

出0入0汤圆

发表于 2014-1-21 17:34:20 | 显示全部楼层
顶啦,再看看

出0入0汤圆

发表于 2014-1-21 17:48:02 | 显示全部楼层
打不开,报错,如图

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2014-1-21 17:49:22 | 显示全部楼层
好东西,下载来试试

出0入0汤圆

发表于 2014-1-21 18:05:39 | 显示全部楼层
楼主精神可嘉  赞一下
不过我更喜欢自己敲  熟悉工具比较麻烦

出0入0汤圆

发表于 2014-1-21 18:11:25 | 显示全部楼层
先顶顶再说啊

出0入0汤圆

发表于 2014-1-21 18:42:16 | 显示全部楼层
下下来参考一下。

出0入0汤圆

发表于 2014-1-21 19:03:00 | 显示全部楼层
LZ的工具是命令行的

LZ的工具生产switch case 状态转换框架的

出0入17汤圆

 楼主| 发表于 2014-1-21 19:29:30 | 显示全部楼层
xyz2008 发表于 2014-1-21 17:48
打不开,报错,如图

不应该啊,我这边一直没有问题的,实在不行你重新编译下源码试试。

出0入296汤圆

发表于 2014-1-21 20:05:16 | 显示全部楼层
这个必须顶

出0入0汤圆

发表于 2014-1-21 20:25:27 | 显示全部楼层
不错啊。。这个好

出0入0汤圆

发表于 2014-1-21 20:34:33 | 显示全部楼层
楼主精神可嘉,不过,我还是喜欢自己敲代码,思路比较清晰

出0入17汤圆

发表于 2014-1-21 21:07:19 | 显示全部楼层
学习了 !~~~

出0入0汤圆

发表于 2014-1-21 21:38:29 | 显示全部楼层
傻孩子顶,我也顶

出0入0汤圆

发表于 2014-1-21 22:01:52 | 显示全部楼层
楼主能够提供参考的那几个帖子。。。

出0入0汤圆

发表于 2014-1-21 22:28:25 来自手机 | 显示全部楼层
Qm画状态极工具,

出0入0汤圆

发表于 2014-1-21 22:32:17 | 显示全部楼层
好吧,这个界面有点意外

出0入0汤圆

发表于 2014-1-21 22:51:03 | 显示全部楼层
支持

出0入0汤圆

发表于 2014-1-21 22:54:24 | 显示全部楼层
我也喜欢自己敲,这样逻辑比较清晰

出0入0汤圆

发表于 2014-1-22 07:38:17 | 显示全部楼层
过来顶贴 十分感谢!

出0入0汤圆

发表于 2014-1-22 07:56:04 来自手机 | 显示全部楼层
先顶起。mark一下再细看!

出0入96汤圆

发表于 2014-1-22 08:15:13 | 显示全部楼层
留下脚印,以后再看

出0入0汤圆

发表于 2014-1-22 09:12:03 | 显示全部楼层

出0入0汤圆

发表于 2014-1-22 09:19:28 | 显示全部楼层
状态机果断mark

出0入0汤圆

发表于 2014-1-22 09:29:35 | 显示全部楼层
MARK

出0入0汤圆

发表于 2014-1-22 09:46:23 | 显示全部楼层
虽然暂时不会用,但还是再顶顶,另外推荐QM:


本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2014-1-22 09:52:29 | 显示全部楼层
我用VC6.0编译楼主代码, 生成的debug和release的exe均不能正常运行, 提示内存不能读, 但调试模式可运行, 没细看楼主代码, 希望楼主再审查一下.

出0入0汤圆

发表于 2014-1-22 09:53:56 | 显示全部楼层
已经收藏

出0入0汤圆

发表于 2014-1-22 10:02:20 | 显示全部楼层
谢谢楼主,做个标记,以后备用

出0入0汤圆

发表于 2014-1-22 10:35:55 | 显示全部楼层

出0入17汤圆

 楼主| 发表于 2014-1-22 10:42:20 | 显示全部楼层
cheungman 发表于 2014-1-22 09:52
我用VC6.0编译楼主代码, 生成的debug和release的exe均不能正常运行, 提示内存不能读, 但调试模式可运行, 没 ...

我试了VC6.0编译也是可以的。现在源码比较乱,抽空将代码重写一遍,然后再试试。

出0入0汤圆

发表于 2014-1-22 10:53:45 | 显示全部楼层
本帖最后由 orzorzorzorz 于 2014-1-22 10:56 编辑

用qm全自动搞定的路过

支持lz,但是lz也要看看外面的世界,优秀的开源的状态机很多,

出0入0汤圆

发表于 2014-1-22 11:15:40 | 显示全部楼层
QM,你值得拥有!

出0入0汤圆

发表于 2014-1-22 11:16:56 | 显示全部楼层
收藏一个

出0入0汤圆

发表于 2014-1-22 11:35:40 | 显示全部楼层
标记,收藏。

出0入0汤圆

发表于 2014-1-22 11:49:53 | 显示全部楼层
mark.楼主这么niubility,楼下知道吗

出0入0汤圆

发表于 2014-1-22 17:27:20 | 显示全部楼层
有意思,楼主有心啊

出0入0汤圆

发表于 2014-1-22 18:16:46 | 显示全部楼层
mark,先做个记号

出0入0汤圆

发表于 2014-5-15 13:40:55 | 显示全部楼层
这个必须顶

出0入0汤圆

发表于 2014-5-15 13:46:27 | 显示全部楼层
经常用到状态机,必须顶!

出0入0汤圆

发表于 2014-7-11 18:33:15 | 显示全部楼层
QM那里有下载

出0入0汤圆

发表于 2015-1-31 18:25:14 | 显示全部楼层
真得很值得 这如何去改变教学 很伤脑子

出0入0汤圆

发表于 2015-1-31 19:42:18 | 显示全部楼层
多谢楼主  简单接地气                                                                                                                                                                                                

出0入0汤圆

发表于 2015-1-31 22:06:27 | 显示全部楼层
这个强烈支持

出0入0汤圆

发表于 2015-1-31 22:14:16 | 显示全部楼层
IAR也有状态机工具。与MCU有关。收费。

出0入0汤圆

发表于 2015-1-31 22:41:33 | 显示全部楼层
谢谢楼主分享啦!!!!!

出0入0汤圆

发表于 2015-1-31 23:37:55 | 显示全部楼层
li3p 发表于 2014-1-21 17:23
推荐一个功能更强的,我一直用它,感觉比visualSTATE好用:
http://sourceforge.net/projects/fsme/?source ...

请问   你提供的这个工具如何生成C代码啊,,没有看到相关的菜单,请指教!!!!

出0入0汤圆

发表于 2015-2-1 11:17:30 | 显示全部楼层
状态机主要能干嘛呢??

出0入0汤圆

发表于 2015-2-1 11:39:31 | 显示全部楼层
  mark一下!

出0入0汤圆

发表于 2015-2-1 11:49:48 | 显示全部楼层
赞一个。试了试,挺好玩

出10入0汤圆

发表于 2015-2-1 12:54:47 | 显示全部楼层
逛了一下http://www.state-machine.com/
下载个在STM32中的例子,贴上来不知道对大家是否有帮助

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2015-2-1 13:38:04 | 显示全部楼层
感谢楼主无私奉献

出0入0汤圆

发表于 2015-2-1 16:24:31 | 显示全部楼层
图形化就更接地气了

出0入0汤圆

发表于 2015-2-1 20:12:24 | 显示全部楼层
看看,谢谢楼主。

出0入0汤圆

发表于 2015-2-1 21:13:36 | 显示全部楼层
谢谢了,下来玩一玩。

出0入4汤圆

发表于 2015-2-1 22:10:24 | 显示全部楼层
     谢谢分享

出0入0汤圆

发表于 2015-2-3 18:56:49 | 显示全部楼层
谢谢分享,好好学学

出0入0汤圆

发表于 2015-2-4 17:01:41 | 显示全部楼层

出0入4汤圆

发表于 2015-2-4 18:58:01 | 显示全部楼层
顶顶`~~~~~~~~~~~~~~~~~~~~~

出0入0汤圆

发表于 2015-2-8 16:04:13 | 显示全部楼层
顶顶     看看

出0入0汤圆

发表于 2015-4-16 13:30:47 | 显示全部楼层
学习中,以前试过IAR出的状态机软件,感觉还不错

出0入0汤圆

发表于 2015-4-16 13:37:59 | 显示全部楼层
收藏,状态机目前只是使用在项目里某些小地方,整体状态机对状态的划分有点让我头痛,把握不住粒度

出0入0汤圆

发表于 2015-4-16 15:14:07 | 显示全部楼层
同意楼上的,大点的也没有用过.把握不住状态的划分.分出后感觉容易,如何把状态分出来很痛苦.

出0入0汤圆

发表于 2015-4-20 23:01:20 | 显示全部楼层
楼主真心厉害,这玩意是用什么思路实现自动生成代码的

出0入0汤圆

发表于 2015-4-20 23:25:22 | 显示全部楼层
mark 状态机

出0入0汤圆

发表于 2015-4-21 01:02:02 | 显示全部楼层
mark 慢慢学习

出0入0汤圆

发表于 2015-4-21 10:27:57 | 显示全部楼层
我也推荐QM ,不错的

出0入0汤圆

发表于 2015-4-21 13:31:52 | 显示全部楼层
马克一发 状态机

出0入0汤圆

发表于 2015-4-21 13:51:14 | 显示全部楼层
真太厉害了,第一次看到有这个东西,开眼界了!

出0入0汤圆

发表于 2015-4-21 13:59:36 | 显示全部楼层
顶一个,记号

出0入0汤圆

发表于 2015-4-26 22:01:07 | 显示全部楼层
必须马克,太好了。

出0入0汤圆

发表于 2015-4-26 22:17:22 | 显示全部楼层
高手,加多一点说明就好了,这样可以快速入门

出0入0汤圆

发表于 2015-4-27 08:14:27 | 显示全部楼层
xyz2008 发表于 2014-1-21 17:48
打不开,报错,如图

同样的问题,打开报错

出0入0汤圆

发表于 2015-4-27 18:18:08 | 显示全部楼层
感谢分享!

出0入0汤圆

发表于 2015-8-17 09:27:54 | 显示全部楼层
如果改成VC 工具更实用吧

出0入0汤圆

发表于 2015-8-24 11:03:33 | 显示全部楼层
要学习学习这个

出0入0汤圆

发表于 2015-8-24 11:33:32 | 显示全部楼层
先mark再细看!

出0入0汤圆

发表于 2015-8-24 14:05:59 | 显示全部楼层
mark一下,状态机代码自动生成工具

出0入0汤圆

发表于 2015-8-24 14:16:47 | 显示全部楼层
太强了,这个必须得顶。

出0入0汤圆

发表于 2015-8-24 14:16:55 | 显示全部楼层
备注一下,以后也许有用

出0入0汤圆

发表于 2019-4-24 11:26:32 | 显示全部楼层
感谢楼主无私奉献

出0入0汤圆

发表于 2019-4-24 18:12:47 | 显示全部楼层
下载学习下,谢谢分享。

出0入0汤圆

发表于 2019-4-24 18:29:43 | 显示全部楼层
这个要顶

出0入0汤圆

发表于 2019-4-30 11:24:48 | 显示全部楼层
了解一下!!!

出0入0汤圆

发表于 2019-4-30 11:28:09 | 显示全部楼层
li3p 发表于 2014-1-21 17:23
推荐一个功能更强的,我一直用它,感觉比visualSTATE好用:
http://sourceforge.net/projects/fsme/?source ...

mark 状态机

出0入0汤圆

发表于 2019-4-30 14:26:26 | 显示全部楼层
可以可以  以后有用了

出0入0汤圆

发表于 2019-12-7 09:56:22 | 显示全部楼层
li3p 发表于 2014-1-21 17:23
推荐一个功能更强的,我一直用它,感觉比visualSTATE好用:
http://sourceforge.net/projects/fsme/?source ...

自动生成C++代码,然后手动改成C吗,不少台系单片机,内存小,C编译器功能弱,编译不了的吧。

出0入0汤圆

发表于 2019-12-7 11:02:43 来自手机 | 显示全部楼层
好好学习状态机

出0入0汤圆

发表于 2019-12-7 16:58:19 | 显示全部楼层
dreampet 发表于 2014-1-21 17:07
不错,楼主能再接再励做个图形化界面就更好了。
我们现在开发做架构都是用Simulink的StateFlow工具来建模, ...

谢谢推荐

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

本版积分规则

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

GMT+8, 2024-3-28 21:41

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

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