當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 行業(yè)百科 > 單片機程序開發(fā)中初級工程師常犯哪些錯誤
我們在任何程序開發(fā)過程中,總會碰到這樣那樣的問題,當(dāng)然單片機程序開發(fā)也是如此,尤其是初級工程師在程序開發(fā)過程中總會犯錯,接下來我們簡單了解下這個實例,也許會幫到你。
While(1)
{
//上電進入主程序 或 觸發(fā)觸摸屏
//播放提示語音
Delay();//等待播放完畢
//讀取M1卡信息
Delay();//等待讀卡數(shù)據(jù)返回
//播放提示語音
Delay();//等待播放完畢
//M1卡數(shù)據(jù)交互,判定下一步操作及提示
Delay();//等待數(shù)據(jù)處理完畢
……
……
}
我們暫且不對其做出任何評價,但是可以看出這個工程師基本上對自己設(shè)計的產(chǎn)品沒有任何整體概念,或者可以說對自己開發(fā)的程序用到設(shè)計上會產(chǎn)生的實際效果根本不清楚。所以他觸犯了我們在程序開發(fā)過程中的幾個問題:
1.dalay這類函數(shù)只應(yīng)該在實驗室驗證某個功能的過程中才會用得到,在實際產(chǎn)品開發(fā)時無論是主循環(huán)while中,還是其調(diào)用的函數(shù)中,亦或是中斷服務(wù)程序中絕對不可以用到。
2.產(chǎn)品設(shè)計的各個子模塊之間的邏輯關(guān)系太強,說實話我們一般都講究在產(chǎn)品設(shè)計中只有各個事件處理模塊間的邏輯關(guān)系弱化,才能夠更加靈活的進行處理。
3.沒有考慮到單片機本身是一個單核單任務(wù)的架構(gòu),每一個事件都會獨占CPU內(nèi)核,當(dāng)多個任務(wù)模塊同時存在時我們應(yīng)該對各個事件進行區(qū)分,我們應(yīng)當(dāng)分情況、分事件實時性要求等區(qū)分對待。
所以針對這些,一名老工程師給初級工程師出了幾點建議:
1.單片機種類不要貪多,那么對于初學(xué)者來講,建議你好選擇一種單片機為主,把它學(xué)懂學(xué)精。
2.學(xué)的精比學(xué)的多好,一些資料看完之后只是懂個大概,倒不如踏踏實實安下心來吃透每個知識點,理解每個細節(jié)。
3.按需學(xué)習(xí),單片機種類繁多,想要全部學(xué)會不可能,所以在實際工作中應(yīng)該采取按需學(xué)習(xí)的模式。
4.能力比知識重要,能不能運用所學(xué)知識來快速解決問題,是衡量每個工程師能力高低的重要指標。
5.動手和看書同樣重要,其實看再多的資料,不去動手,也只是一只半解,所以動手能力真的很重要。
初級工程師常犯的幾點錯誤,你中標了沒?如果能夠很好的結(jié)合自身情況,這些錯誤是可以避免的。