飞思卡尔K64单片机编程问题(已解决)
本帖最后由 FSL_TICS_Robin 于 2014-11-27 10:28 编辑请问有限状态机编程怎么由事件结束触发新事件开始? 程序写完总是不按着预想的执行 就是多个事件的每次执行次数都不一样 用的是K64单片机 是用OS 来执行吗? 有限状态机编程,这个和用哪家单片机无关。 [开源]阿莫蜘蛛进度报告 http://www.amobbs.com/thread-5590165-1-1.html 就是K64平台上应用状态机 用状态机首先你要想清楚你有多少个状态,状态与状态之间是怎么切换的。如果没按照你设想的走,就是有你没想到的问题,建议加一个default,然后跳转回去,调试看一下 没明白你的意思,能描述得更清楚吗? 写个示意给你看一下吧
main()
{
u8 mark key;
mark=0;
key=1;
wihile()
{
if(key=1)
{
swhich mark:
case 0: all led down mark=1;
case 1: led1 upelse downmark=2;
case 2: led2 upelse downmark=3;
case 3: led3 upelse downmark=4;
default: all led up mark=0;
}
}
}
上面写了一个当key按下等于1时,做一个规律的亮灯动作的。这应该是能算一个基本的状态机的思想了。
有人拍砖吗?千万别打脸,还要讨媳妇呢。 你是希望多个不同的事件按照顺序,依次执行?可以用一个互斥锁,或者信号量 多关注傻孩子,老师的帖子, 地主阿山 发表于 2014-10-10 16:09
[开源]阿莫蜘蛛进度报告 http://www.amobbs.com/thread-5590165-1-1.html 就是K64平台上应 ...
谢谢啊 涨了不少知识 步之道 发表于 2014-10-10 21:44
写个示意给你看一下吧
谢啦 第一次接触状态机的概念 很多都是不很懂 maimaige 发表于 2014-10-10 22:07
多关注傻孩子,老师的帖子,
老师的帖子真的很强大
页:
[1]