關於微控制器程式碼架構分層
阿新 • • 發佈:2019-02-06
最近看了一個大神吳堅鴻的文章,他的軟體架構寫得還是不錯的,但是程式碼風格一般,全域性變數滿天飛,但開發出來的產品穩定,效能也好。不管怎麼說,在企業裡,老闆只追求結果,不追求過程,即使程式碼寫得再不好,能實現功能就不錯了。在這裡,我借鑑他的“”三區一線理論“做下分析”。
#include <reg51.h> void init(); void initial(); void delay_l(unsigned int ul); void APK(); void main() { /* 註釋一: * 專門用來初始化微控制器自己的暫存器以及個別外圍要求響應速度快的輸出裝置, * 防止剛上電之後,由於輸出IO口電平狀態不確定而導致外圍裝置誤動作, * 比如繼電器的誤動作等等。 */ init(); /* 註釋二: * 延時時間一般是0.3秒到2秒之間,等待外圍晶片和模組上電穩定。 * 比如液晶模組,AT24C02儲存晶片,DS1302時鐘晶片, * 這類晶片有個特點,一般都是跟微控制器進行串列埠或並口通訊的, * 並且不要求上電立即處理的。 */ delay_l(100); /* 註釋三: * 專門用來初始化不要求上電立即處理的外圍晶片和模組. * 比如液晶模組,AT24C02儲存晶片,DS1302時鐘晶片。 */ initial(); /* 註釋四: * while(1){}主函式迴圈區屬於鴻哥三區一線理論的第三區, * 專門用來編寫被迴圈掃描到的非中斷應用程式 */ while(1) { APK(); } }