编程的时候经常遇到一些用时间做基础的计时,计次等等的功能。
例如做一个指示灯按一定的亮灭间隔,循环闪烁。某个电机按照可设定的on时间,off时间间歇运行。某个报警器响一长三短然后停止报警。
分立元件编程就不谈了。就是聊子程序完成这样的一个功能。
那么是不是可以在主程序处预先做一个比如每100毫秒或50毫秒接通一个周期的信号,然后所有子程序都用这个点作为输入变量,或者直接在子程序内部使用这个全局地址。
还有一种方法是每个子程序用到计时的时候,都是自己使用Bitime指令Citime指令制作时间基准(还有别的方法的,不列举了),自己顾自己。
两种方法我觉得区别很大。一个是依赖了全局资源,是不是就是叫耦合问题?如果一个子程序依赖外界的事情多了,就叫耦合度高了?后面一种方法,就没有任何耦合了,会使得各个子程序都重复了做一个相同的工作。就是因为自己腿长,都不一起站在巨人的肩膀上了。
各位又是怎么衡量这个问题的?