關(guān)于單片機代碼架構(gòu)分層
最近看了一個大神吳堅鴻的文章,他的軟件架構(gòu)寫得還是不錯的,但是代碼風(fēng)格一般,全局變量滿天飛,但開發(fā)出來的產(chǎn)品穩(wěn)定,性能也好。不管怎么說,在企業(yè)里,老板只追求結(jié)果,不追求過程,即使代碼寫得再不好,能實現(xiàn)功能就不錯了。在這里,我借鑒他的“”三區(qū)一線理論“做下分析”。
[cpp] view plain copy print?
#include
void init();
void initial();
void delay_l(unsigned int ul);
void APK();
void main()
{
/* 注釋一:
* 專門用來初始化單片機自己的寄存器以及個別外圍要求響應(yīng)速度快的輸出設(shè)備,
* 防止剛上電之后,由于輸出IO口電平狀態(tài)不確定而導(dǎo)致外圍設(shè)備誤動作,
* 比如繼電器的誤動作等等。
*/
init();
/* 注釋二:
* 延時時間一般是0.3秒到2秒之間,等待外圍芯片和模塊上電穩(wěn)定。
* 比如液晶模塊,AT24C02存儲芯片,DS1302時鐘芯片,
* 這類芯片有個特點,一般都是跟單片機進行串口或并口通訊的,
* 并且不要求上電立即處理的。
*/
delay_l(100);
/* 注釋三:
* 專門用來初始化不要求上電立即處理的外圍芯片和模塊.
* 比如液晶模塊,AT24C02存儲芯片,DS1302時鐘芯片。
*/
initial();
/* 注釋四:
* while(1){}主函數(shù)循環(huán)區(qū)屬于鴻哥三區(qū)一線理論的第三區(qū),
* 專門用來編寫被循環(huán)掃描到的非中斷應(yīng)用程序
*/
while(1)
{
APK();
}
}

編輯:admin 最后修改時間:2018-05-18