搜索
bottom↓
回复: 11

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

[复制链接]

出0入0汤圆

发表于 2014-10-10 15:38:33 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_Robin 于 2014-11-27 10:28 编辑

请问有限状态机编程怎么由事件结束触发新事件开始?     程序写完总是不按着预想的执行     就是多个事件的每次执行次数都不一样    用的是K64单片机

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

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2014-10-10 15:53:14 | 显示全部楼层
是用OS 来执行吗?

出100入101汤圆

发表于 2014-10-10 15:59:29 | 显示全部楼层
有限状态机编程,这个和用哪家单片机无关。

出0入0汤圆

发表于 2014-10-10 16:09:15 来自手机 | 显示全部楼层
[开源]阿莫蜘蛛进度报告[2014-9-03更新] http://www.amobbs.com/thread-5590165-1-1.html 就是K64平台上应用状态机

出0入0汤圆

发表于 2014-10-10 18:33:56 | 显示全部楼层
用状态机首先你要想清楚你有多少个状态,状态与状态之间是怎么切换的。如果没按照你设想的走,就是有你没想到的问题,建议加一个default,然后跳转回去,调试看一下

出0入0汤圆

发表于 2014-10-10 21:13:58 | 显示全部楼层
没明白你的意思,能描述得更清楚吗?

出0入0汤圆

发表于 2014-10-10 21:44:56 | 显示全部楼层
写个示意给你看一下吧


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时,做一个规律的亮灯动作的。这应该是能算一个基本的状态机的思想了。
有人拍砖吗?千万别打脸,还要讨媳妇呢。

出0入0汤圆

发表于 2014-10-10 22:06:09 | 显示全部楼层
你是希望多个不同的事件按照顺序,依次执行?可以用一个互斥锁,或者信号量

出0入0汤圆

发表于 2014-10-10 22:07:30 | 显示全部楼层
多关注傻孩子,老师的帖子,

出0入0汤圆

 楼主| 发表于 2014-10-14 21:55:04 | 显示全部楼层
地主阿山 发表于 2014-10-10 16:09
[开源]阿莫蜘蛛进度报告[2014-9-03更新] http://www.amobbs.com/thread-5590165-1-1.html 就是K64平台上应 ...

谢谢啊    涨了不少知识

出0入0汤圆

 楼主| 发表于 2014-10-14 21:55:55 | 显示全部楼层
步之道 发表于 2014-10-10 21:44
写个示意给你看一下吧

谢啦    第一次接触状态机的概念   很多都是不很懂

出0入0汤圆

 楼主| 发表于 2014-10-14 21:56:46 | 显示全部楼层
maimaige 发表于 2014-10-10 22:07
多关注傻孩子,老师的帖子,

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

本版积分规则

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

GMT+8, 2024-7-23 09:30

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

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