关于单片机程序初始化硬件参数代码

时间:2022-07-07 19:45:34
一个单片机的程序,设置了一些初始化硬件后不会再遇到的参数,然后将这些程序注释掉了,这样对于调试来说固然很好。但是,对于以后的程序与维护,都是一个潜在的隐患。

首先,对于以后再次使用的新设备,会出现意想不到的问题。因为偶然拿来一个新的设备,没有经过初始化,这个时候程序的参数都是要配置之后的,对于调试者是个灾难。要分析造成问题的原因,往往也不好分析,因为程序是好用的,硬件是新的。按常理是不应该不能运行的。但是它们不运行了。即使是对于程序的设计者,如果不是要注意一番,估计也不好发现这个问题。而会在分析了很长时间之后,发现是没有初始化的问题。浪费了很多时间。

其次,对于后来的程序阅读者而言(除非程序足够小亦或项目足够小,程序不会被第二个人阅读到),也是要费一番脑筋才能弄明白原作者的那段程序要怎么做。(这有违软件工程——程序是要让其他人都看得懂的原则)这样也会给新加入项目者,造成一些不必要的时间消耗,延缓项目时间。

怎么样处理好这样的问题是一个要思考的。一次初始化之后,以后程序运行就不会再执行的代码,如何处理才合适。在这里,认为没有最好的方法。对于不同的要求和实际情况选择最合适的方法,是比较可行的。
其一、将初始化程序也放在执行代码内,不给注释掉,每次开机检测是否已经初始化,如果已经初始化过,则正常执行,如果没有则执行初始化步骤。
其二、将初始化程序放在注释中,但是要有详细的注释说明,说明此段代码的用处,即用于何处,何时使用,以及声明此段代码不可删除。这相当于给单片机烧程序的下载器,虽然只用一次,但是不可或缺,而且要知道用途。