搜索
bottom↓
楼主: Gorgon_Meducer

[FSM]状态机实践入门——程咬金只要三斧头厉害

  [复制链接]

出0入0汤圆

发表于 2011-3-3 13:30:44 | 显示全部楼层
期待完整教程。

出0入0汤圆

发表于 2011-3-3 13:43:56 | 显示全部楼层
New Balance

出0入0汤圆

发表于 2011-3-3 13:45:28 | 显示全部楼层
Mark!

出0入0汤圆

发表于 2011-3-3 14:06:55 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-3-3 17:40:57 | 显示全部楼层
然来如此啊   哈哈

出0入0汤圆

发表于 2011-3-3 19:14:20 | 显示全部楼层
我的神来,真对我口味。

出0入0汤圆

发表于 2011-3-3 19:46:37 | 显示全部楼层
嗯,继续学习,呵呵,谢谢!

出0入0汤圆

发表于 2011-3-3 20:18:20 | 显示全部楼层
先做个记号 学习一下

出0入0汤圆

发表于 2011-3-3 20:24:24 | 显示全部楼层
学习!

出0入0汤圆

发表于 2011-3-3 21:36:36 | 显示全部楼层
学习····

出0入0汤圆

发表于 2011-3-3 21:51:26 | 显示全部楼层
先mark后学,老师好!

出0入0汤圆

发表于 2011-3-3 22:23:54 | 显示全部楼层
学习了

出0入0汤圆

发表于 2011-3-3 22:44:09 | 显示全部楼层
记号,有空再慢慢看

出0入0汤圆

发表于 2011-3-3 23:34:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-4 00:18:36 | 显示全部楼层
我只会用第一种,学到东西了,顶一下

出0入0汤圆

发表于 2011-3-4 00:52:06 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-4 08:42:37 | 显示全部楼层
进来看看--

出0入0汤圆

发表于 2011-3-4 09:06:00 | 显示全部楼层
先记号。

出0入0汤圆

发表于 2011-3-4 09:31:10 | 显示全部楼层
学zigbee的时候顺便接触了,状态机,事件驱动机制,理解容易,但没这么深刻呵呵

出0入8汤圆

发表于 2011-3-4 09:56:05 | 显示全部楼层
谢谢,以前从马老师那里学习第一种状态机,现在再多学习多一种,好!!

出0入0汤圆

发表于 2011-3-5 14:04:58 | 显示全部楼层
傻孩子——大神级别的

出0入0汤圆

发表于 2011-3-5 15:33:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-5 15:57:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-5 16:11:52 | 显示全部楼层
学习中~~~
顶起来

出0入0汤圆

发表于 2011-3-5 18:59:28 | 显示全部楼层
我写了LCD的菜单程序后才知道这种叫状态机。。

出0入0汤圆

发表于 2011-3-5 19:08:54 | 显示全部楼层
速度mark

出0入0汤圆

发表于 2011-3-5 19:46:50 | 显示全部楼层
受教了.
Thanks~

出0入0汤圆

发表于 2011-3-5 20:27:01 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-3-5 21:15:53 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-3-5 21:53:27 | 显示全部楼层
mark 状态机

出0入0汤圆

发表于 2011-3-5 22:23:49 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-5 22:26:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-5 22:35:30 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-5 23:19:23 | 显示全部楼层
谢谢!傻孩子。留个记号先

出0入0汤圆

发表于 2011-3-5 23:29:12 | 显示全部楼层
老老实实研究技术, mark

出0入0汤圆

发表于 2011-3-6 21:49:26 | 显示全部楼层
FSM

出0入0汤圆

发表于 2011-3-6 23:08:02 | 显示全部楼层
这个一定要mark。多谢了

出0入0汤圆

发表于 2011-3-6 23:18:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-6 23:45:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-7 13:34:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-8 12:44:32 | 显示全部楼层
终于盼来了“傻”老师的大作呀!赶紧听课。

出0入0汤圆

发表于 2011-3-8 13:28:13 | 显示全部楼层
回复【楼主位】Gorgon Meducer 傻孩子
-----------------------------------------------------------------------

呵呵 我 写的菜单原来是 这个东西 呵呵 谢谢呀

出0入0汤圆

发表于 2011-3-8 13:45:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-8 15:51:53 | 显示全部楼层
大哥们,,能不能帮我解决这个问题呢,,谢谢啊

有关地址越狱的问题


http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4596199&bbs_page_no=1&search_mode=3&search_text=guxingganyue&bbs_id=9999

出0入0汤圆

发表于 2011-3-13 11:37:48 | 显示全部楼层
记号

出0入0汤圆

发表于 2011-3-16 16:36:59 | 显示全部楼层
期待傻孩子的“状态机实践深入”。

出0入0汤圆

发表于 2011-3-22 12:56:48 | 显示全部楼层
赶紧顶一下,这三斧头砍得天下呀!宝物。

出0入0汤圆

发表于 2011-4-1 20:04:37 | 显示全部楼层
mark!!!

出0入0汤圆

发表于 2011-4-6 09:36:26 | 显示全部楼层
学习了!

出0入0汤圆

发表于 2011-4-20 20:08:26 | 显示全部楼层
谢谢!

出0入0汤圆

发表于 2011-4-21 20:20:22 | 显示全部楼层

出0入0汤圆

发表于 2011-4-21 20:46:36 | 显示全部楼层
mark着下次看

出0入0汤圆

发表于 2011-4-21 22:03:04 | 显示全部楼层
mark先,周末来学习

出0入0汤圆

发表于 2011-4-21 22:18:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-21 23:41:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-21 23:44:14 | 显示全部楼层
一直想学傻孩子的状态机思想,尽管有所领悟

出0入0汤圆

发表于 2011-4-22 08:32:23 | 显示全部楼层
太好了,提供了新思路啊,期待楼主的下篇。

出0入0汤圆

发表于 2011-4-22 09:37:37 | 显示全部楼层
使用switch进行状态的判定更方便

出0入0汤圆

发表于 2011-4-22 09:42:07 | 显示全部楼层
老老实实研究技术……

出0入0汤圆

发表于 2011-4-22 10:56:00 | 显示全部楼层
期待下集精彩内容

出0入0汤圆

发表于 2011-4-22 13:10:50 | 显示全部楼层
原来自己的逻辑程序里就有状态机的影子。

出0入0汤圆

发表于 2011-4-22 13:50:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-22 14:05:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-22 15:01:44 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-1 14:32:36 | 显示全部楼层
师兄啊,我是创新4班的学生,在你给我们将完状态机之后,感觉受益匪浅,对处理能力相对较弱的单片机任务调度有了基本的概念,很遗憾你匆匆离开了,也非常期待你下次回来给大家洗洗脑,讲解一些我们很难从学校里面学到的东西。

出0入0汤圆

发表于 2011-5-5 10:20:22 | 显示全部楼层
潜心做技术

出500入0汤圆

发表于 2011-5-11 18:26:39 | 显示全部楼层
师兄……佩服……

出0入0汤圆

发表于 2011-5-11 19:10:48 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-11 19:45:45 | 显示全部楼层
一直用这个结构写程序

出0入0汤圆

发表于 2011-5-11 19:57:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-11 20:04:42 | 显示全部楼层
有点晕   还木有用到

出0入0汤圆

发表于 2011-5-14 18:42:59 | 显示全部楼层
mark,大师兄~~

出0入0汤圆

发表于 2011-5-15 00:16:53 | 显示全部楼层
看来我一直在用状态机 但是自己不知道自己会这个。。。。。。。悲剧啊

出0入0汤圆

发表于 2011-5-15 00:41:20 | 显示全部楼层
经典要学习。。。各种状态机风格

出0入0汤圆

发表于 2011-5-15 01:11:26 | 显示全部楼层
经典要学习。。。各种状态机风格

出0入0汤圆

发表于 2011-5-15 04:22:25 | 显示全部楼层
这个要跟设计模式一起使用效果更好
我们的系统是处理各种消息的
使用了工厂模式和状态机
收到不同的消息会由自动化工厂创建不同的状态机,并将消息转化成内部消息,再把消息转发给状态机处理,为了协调消息及避免死掉或无限制等待,状态机中一定要有定时器消息的处理及发送

整个系统就是socket消息的扫描,内部消息队列、定时器队列、状态机对列及主调度程序构成,全部是消息驱动

出0入0汤圆

发表于 2011-5-15 07:23:46 | 显示全部楼层
good

出0入0汤圆

发表于 2011-5-15 10:38:02 | 显示全部楼层
状态机!

出0入0汤圆

发表于 2011-5-15 12:13:10 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-15 12:22:27 | 显示全部楼层
留个印,慢慢体会

出0入0汤圆

发表于 2011-5-15 12:47:03 | 显示全部楼层
顶.

出0入0汤圆

发表于 2011-5-18 16:43:21 | 显示全部楼层
加上
IF()
{
///大堆代码
}
的都是状态机了?

出0入296汤圆

 楼主| 发表于 2011-5-18 17:51:17 | 显示全部楼层
to 【185楼】 yanshengdian
    错了,如果你写代码的时候脑袋里面没有状态机,你写成什么形式都很值得怀疑是否
是状态机。

出0入0汤圆

发表于 2011-5-18 22:58:55 | 显示全部楼层
回复【185楼】yanshengdian  
加上
if()
{
///大堆代码
}
的都是状态机了?
-----------------------------------------------------------------------
重點是狀態機的精神,不是實做的方式。你可以用if敘述,也可以用switch敘述,更可以用函式指標敘述。
例如要做這樣的狀態機。

(原文件名:ex01.jpg)
用函式指標可以這樣寫:寫法很多種,看你的應用、場合、任務的複雜程度。
#include <stdio.h>
#include <stdlib.h>

void (*mission_excute)() = 0;

unsigned char event;

void S0();
void S1();
void S2();

int main()
{
    int ix;
    event = 0;
    mission_excute = S0;
    for(ix=0;ix<10;ix++)
    {
        mission_excute();
        event++;
        event = event & 0x03;
    }
    return 0;
}



void S0()
{
    printf("Into S0:%2d\n",event);
    if(event == 0)
    {
        mission_excute = S1;
        printf("Goto S1:%2d\n",event);
    }
    else if(event == 2)
    {
        mission_excute = S2;
        printf("Goto S2:%2d\n",event);
    }
    else{}
}
void S1()
{
   printf("Into S1:%2d\n",event);
    if(event == 2)
    {
        mission_excute = S2;
        printf("Goto S2:%2d\n",event);
    }
    else if(event == 1)
    {
        printf("Stay S1:%2d\n",event);
    }
    else{}
}

void S2()
{
   printf("Into S2:%2d\n",event);
    if(event == 3)
    {
        printf("Stay S2:%2d\n",event);
    }
    else if(event == 0)
    {
        printf("Goto S1:%2d\n",event);
    }
    else{}

}

出0入0汤圆

发表于 2011-5-18 23:08:29 | 显示全部楼层
mark...

出0入0汤圆

发表于 2011-5-18 23:30:25 | 显示全部楼层
先顶再学习

出160入0汤圆

发表于 2011-5-19 13:31:23 | 显示全部楼层
记号 先

出0入0汤圆

发表于 2011-5-21 09:22:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-21 09:49:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-21 12:42:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-24 15:47:06 | 显示全部楼层
有份量的帖子就不一样。

出0入0汤圆

发表于 2011-5-24 16:06:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-31 09:08:20 | 显示全部楼层
老大,什么时候更新一下啊,讲更多点!

出0入296汤圆

 楼主| 发表于 2011-5-31 10:06:43 | 显示全部楼层
to 【197楼】 flor
    兄弟,你的心情我可以理解。但是小弟忙得头上冒青烟……还请理解下。
你看看我多少帖子都是只开了头……就没有后续的……我也不想虎头蛇尾……
等有空的时候,我会尝试去更新的。
    很多时候我也就是抛砖引玉……你看看,后续跟贴里面不是有很多不错的
内容么?其实很多东西都在书里面……建议多看看我的推荐书目……

出0入0汤圆

发表于 2011-5-31 10:22:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-31 10:51:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-31 13:06:57 | 显示全部楼层
马辣个科啊!

出0入0汤圆

发表于 2011-6-1 17:00:20 | 显示全部楼层
mark,还可以深入一点,讲讲模型的东西……

出0入0汤圆

发表于 2011-6-4 11:59:10 | 显示全部楼层
mark

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-3-28 23:35

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

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