飞思卡尔K64单片机编程问题(已解决)

2020-02-20 20:59发布

本帖最后由 FSL_TICS_Robin 于 2014-11-27 10:28 编辑

请问有限状态机编程怎么由事件结束触发新事件开始?     程序写完总是不按着预想的执行     就是多个事件的每次执行次数都不一样    用的是K64单片机
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
FSL_TICS_DANIEL
1楼-- · 2020-02-21 00:13
是用OS 来执行吗?
fengyunyu
2楼-- · 2020-02-21 02:35
 精彩回答 2  元偷偷看……
地主阿山
3楼-- · 2020-02-21 04:36
[开源]阿莫蜘蛛进度报告[2014-9-03更新] http://www.amobbs.com/thread-5590165-1-1.html 就是K64平台上应用状态机
步之道
4楼-- · 2020-02-21 07:16
用状态机首先你要想清楚你有多少个状态,状态与状态之间是怎么切换的。如果没按照你设想的走,就是有你没想到的问题,建议加一个default,然后跳转回去,调试看一下
浪里白条
5楼-- · 2020-02-21 10:46
没明白你的意思,能描述得更清楚吗?
步之道
6楼-- · 2020-02-21 13:06
写个示意给你看一下吧


main()
        {
        u8 mark key;
        mark=0;
        key=1;
        wihile()
                {
                  if(key=1)
                        {               
               swhich mark:
                             case 0:     all led down             mark=1;
                             case 1:      led1 up  else down  mark=2;
                             case 2:      led2 up  else down  mark=3;
                             case 3:      led3 up  else down  mark=4;
                             default:     all led up                 mark=0;
                        }
                }
        }
上面写了一个当key按下等于1时,做一个规律的亮灯动作的。这应该是能算一个基本的状态机的思想了。
有人拍砖吗?千万别打脸,还要讨媳妇呢。

一周热门 更多>