打印
[51单片机]

请教单片机状态机的设置

[复制链接]
2360|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nickyamw|  楼主 | 2014-7-10 08:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
        现在手头上有一个项目,是有读卡模块,显示模块,运输模块,进钞模块,串口模块等构成,每个模块都有自己的状态机去控制。
        感觉现在模块间的耦合程序高,改一点点东西就会出现不少问题,改得我要吐了。

        请问2姨家的各位兄弟姐妹,怎样设置状态机,好让整个系统的流程清晰有条理,我真的被逼疯了:'(

相关帖子

沙发
原野之狼| | 2014-7-10 09:30 | 只看该作者
这个问题实在是不好回答啊

使用特权

评论回复
板凳
loliweive| | 2014-7-10 09:38 | 只看该作者
帮不了楼主,但是可以帮顶一下。

使用特权

评论回复
地板
jjjyufan| | 2014-7-10 10:13 | 只看该作者
你得有个主控去控制各个模块吧啊,
各个模块和主控的通讯方式?485 232 iic spi ?
了解各个模块的控制字 写通讯就可以了
自己画个表 改程序 有条理点 花点时间理下

使用特权

评论回复
5
旭日东起| | 2014-7-10 10:28 | 只看该作者
不好说,自己慢慢搞个流程图吧

使用特权

评论回复
6
nickyamw|  楼主 | 2014-7-10 14:39 | 只看该作者
本帖最后由 nickyamw 于 2014-7-10 14:41 编辑
jjjyufan 发表于 2014-7-10 10:13
你得有个主控去控制各个模块吧啊,
各个模块和主控的通讯方式?485 232 iic spi ?
了解各个模块的控制字  ...

就是单片机去控制各个模块,现在的流程有时候要判断某些模块的状态,还有其他的控制变量去做出某种行为,

                  正是有些行为没定义,所以造成网络阻塞的时候,某些行为出现了竞争,导致有BUG,改得快死

使用特权

评论回复
7
Jack315| | 2014-7-10 16:17 | 只看该作者
貌似是程序构架的问题,简单的修改可能会是按下葫芦浮起瓢的节奏。

建议LZ用UML把程序构架梳理一下,然后再修改代码。

使用特权

评论回复
8
nickyamw|  楼主 | 2014-7-11 16:17 | 只看该作者
Jack315 发表于 2014-7-10 16:17
貌似是程序构架的问题,简单的修改可能会是按下葫芦浮起瓢的节奏。

建议LZ用UML把程序构架梳理一下,然后 ...

请问UML是什么?

整个流程都没好,又是经过几手的,这程序真的难维护

使用特权

评论回复
9
Jack315| | 2014-7-11 16:21 | 只看该作者
UML - Unified Modeling Language

Visio里有这个功能。

使用特权

评论回复
10
限量_个性。| | 2014-7-11 20:16 | 只看该作者
先把代码分成模块,降低耦合度,然后画状态转移图,再找相应的资料,一步步来吧。

使用特权

评论回复
11
ningling_21| | 2014-7-12 09:38 | 只看该作者
还是不够规范,规范化程序就不会这样了,先画流程图吧...

使用特权

评论回复
12
nickyamw|  楼主 | 2014-7-15 11:03 | 只看该作者
Jack315 发表于 2014-7-11 16:21
UML - Unified Modeling Language

Visio里有这个功能。

好的,我试试。谢谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

252

帖子

0

粉丝