可以產(chǎn)量化,也可以通過訓(xùn)練達(dá)到統(tǒng)一。
功能的實(shí)現(xiàn)和技巧的運(yùn)用就像室內(nèi)的裝潢,因人而異,且差異極大。我覺得工程師的水平主要體現(xiàn)在這里:能簡潔、美觀、思路清晰地解決問題。
比如用了OS,就算是TINY51(900BYTES左右,簡單吧),那些定時器、信號量觸發(fā)、任務(wù)間的調(diào)度等就都不是問題了。而且,什么IIC、SPI甚至CAN(更別提LCD、KEY了)都有現(xiàn)成的驅(qū)動,就算沒有,寫一次這輩子就能用現(xiàn)成的了。這就是常說的開發(fā)平臺。
對于常規(guī)應(yīng)用,基于平臺寫代碼就是體力勞動,結(jié)構(gòu)都差不多,如果統(tǒng)一了規(guī)范,相信連代碼都很相似。就像做三年級應(yīng)用題一樣,不需要什么水平,也看不出什么“高手”。
但是,到了大規(guī)模、強(qiáng)實(shí)時、邏輯關(guān)系復(fù)雜的應(yīng)用來講,高手的作用就顯出來了。他就是比一般人思路清晰,所以寫出來的東西邏輯關(guān)系好、讓人覺得巧妙且賞心悅目。從這點(diǎn)來說,難點(diǎn)不是程序結(jié)構(gòu)上能解決的,而是在思路和經(jīng)驗(yàn)上解決的。
覺得搞MCU的高手一定得是相應(yīng)領(lǐng)域的高手(當(dāng)然編程規(guī)范的遵守是起碼的),其結(jié)果可能就是你覺得是理所應(yīng)當(dāng)?shù)臇|西,別人就覺得技巧性強(qiáng)(尤其在算法上);遇到知音時他會對你的結(jié)構(gòu)贊不絕口,遇到思路相佐的可能就要挨罵了。