本帖最后由 frlop 于 2014-8-13 11:18 编辑
这两天在写Modbus通信程序,觉得很乱,所以画了流程图辅助。
以前在台企实习的时候见过他们用状态的方式写很漂亮的程序,匠人手记里也有对状态机的讲解。
所以自己安装自己的理解尝试用状态机写这个Modbus的程序。
如图把Modbus通信分成5个状态,每个状态的跳转条件,和每个状态下需要进行的程序操作及操作所在程序段全部表现出来。
程序已经写完了,通信基本OK,但数据很多的时候还是会有明显的丢包现象。
现在疑惑几个问题:
1. 这个流程图完全是按照自己的理解画的,没有参考过别人的流程图是如何绘制的,所以也不知道表不标准,就是自己撮能合理解。
2.用exel做流程图 我承认有点奇葩,大家作流程图大多用什么软件。
3.状态机的编程方式自己写完以后还是感觉不是很理解,在不同状态下切换时是否需要把变量和程序也完全区分开来?
因为原来在台企看到他们的程序,从一个状态跳转另一个状态时,就算变量和代码的重复性非常高,他们也是全部重新写一次,把两个状态下的代码和变量全部区分开。但自己这么做觉得是不是太繁琐了。
PS:附上代码
Src.zip
(23.21 KB)
|