共1条
1/1 1 跳转至页
关于单片机程序初始化硬件参数代码
一个单片机的程序,设置了一些初始化硬件后不会再遇到的参数,然后将这些程序注释掉了,这样对于调试来说固然很好。但是,对于以后的程序与维护,都是一个潜在的隐患。
首先,对于以后再次使用的新设备,会出现意想不到的问题。因为偶然拿来一个新的设备,没有经过初始化,这个时候程序的参数都是要配置之后的,对于调试者是个灾难。要分析造成问题的原因,往往也不好分析,因为程序是好用的,硬件是新的。按常理是不应该不能运行的。但是它们不运行了。即使是对于程序的设计者,如果不是要注意一番,估计也不好发现这个问题。而会在分析了很长时间之后,发现是没有初始化的问题。浪费了很多时间。
其次,对于后来的程序阅读者而言(除非程序足够小亦或项目足够小,程序不会被第二个人阅读到),也是要费一番脑筋才能弄明白原作者的那段程序要怎么做。(这有违软件工程——程序是要让其他人都看得懂的原则)这样也会给新加入项目者,造成一些不必要的时间消耗,延缓项目时间。
怎么样处理好这样的问题是一个要思考的。一次初始化之后,以后程序运行就不会再执行的代码,如何处理才合适。在这里,认为没有最好的方法。对于不同的要求和实际情况选择最合适的方法,是比较可行的。
其一、将初始化程序也放在执行代码内,不给注释掉,每次开机检测是否已经初始化,如果已经初始化过,则正常执行,如果没有则执行初始化步骤。
其二、将初始化程序放在注释中,但是要有详细的注释说明,说明此段代码的用处,即用于何处,何时使用,以及声明此段代码不可删除。这相当于给单片机烧程序的下载器,虽然只用一次,但是不可或缺,而且要知道用途。
共1条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 基于ArduinoUNO开发板的AT24C02读写测试被打赏¥16元 | |
| TCS3472S传感器及其色彩检测被打赏¥19元 | |
| 【S32DS】S32K3 RTD7.0.1 HSE 组件配置报错问题解决被打赏¥27元 | |
| 【S32K3XX】MCME 启动 CORE1被打赏¥23元 | |
| AG32VH407下温度大气压传感器及其检测被打赏¥20元 | |
| AG32VH407下光照强度传感器BH1750及其检测被打赏¥22元 | |
| AT32VH407下使用温湿度传感器DHT22进行检测被打赏¥20元 | |
| DIY一个婴儿澡盆温度计被打赏¥34元 | |
| 【FreeRtos】FreeRtos+MPU region 配置规则被打赏¥23元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动墨水屏(ArduinoIDE)被打赏¥28元 | |
我要赚赏金
