在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)程序設(shè)計(jì)的十層功力,你練到那一層了?

        單片機(jī)程序設(shè)計(jì)的十層功力,你練到那一層了?

        作者: 時(shí)間:2016-11-22 來(lái)源:網(wǎng)絡(luò) 收藏
        第一層 : 我來(lái)了


        本文引用地址:http://www.biyoush.com/article/201611/319870.htm

        第二層 真的打呀


        第三層 并肩作戰(zhàn),時(shí)間,說(shuō)愛(ài)你不容易


        第四層 狀態(tài),你在哪里


        第五層 時(shí)間,還是時(shí)間


        第六層 豐富你的視界


        第七層 我們說(shuō)好的


        第八層 別爭(zhēng)了,讓我來(lái)分配吧


        第九層 穿著操作系統(tǒng)去裸奔


        第十層 無(wú)招勝有招


        第一層,我來(lái)了。處在這一層的典型是可以用C語(yǔ)言寫簡(jiǎn)單的邏輯控制,如閃爍LED,簡(jiǎn)單數(shù)碼管顯示,簡(jiǎn)單外圍模塊驅(qū)動(dòng)實(shí)驗(yàn)。一般對(duì)單片機(jī)感興趣,經(jīng)常動(dòng)手實(shí)踐的人,半年左右,可以練到此地步(針對(duì)沒(méi)有接觸過(guò)單片機(jī)的人而言)。此層最典型的示例就是,掃描按鍵時(shí)候,檢測(cè)按下------延時(shí)20ms --再次檢測(cè)按下----返回鍵值或等待釋放。如果你是這樣做的,或者正在這樣做,毫無(wú)懸念,應(yīng)該處于這個(gè)級(jí)別。對(duì)于95%的電類專業(yè)學(xué)生來(lái)說(shuō),畢業(yè)時(shí)候,遠(yuǎn)遠(yuǎn)低于這個(gè)級(jí)別,剩下的5%則依次分布在各層上。這也是為什么學(xué)單片機(jī)的人成千上萬(wàn),而會(huì)用的人寥寥無(wú)幾的原因。


        第二層 真的打呀。步入這一層的典型標(biāo)志就是開始思考自己所寫的程序是否能夠有一點(diǎn)實(shí)用價(jià)值。譬如應(yīng)用在實(shí)際工程項(xiàng)目中。在這一層,應(yīng)該開始思考如何讓程序結(jié)構(gòu)簡(jiǎn)單模塊化,如何合理的利用CPU的時(shí)間。我曾經(jīng)寫過(guò)這一層的一點(diǎn)簡(jiǎn)單教程。對(duì)付這一層應(yīng)該是綽綽有余了。


        第三層 并肩作戰(zhàn),時(shí)間,說(shuō)愛(ài)你不容易。 這一層是建立在第二層的基礎(chǔ)上面。從第二層跨越到這一層,需要很多代碼行的積累。在這一層,你對(duì)系統(tǒng)中的各個(gè)模塊應(yīng)該能夠很好的區(qū)分。同時(shí)對(duì)于時(shí)間的應(yīng)用安排更加合理。在這一層,同時(shí)也應(yīng)該考慮時(shí)間驅(qū)動(dòng)的設(shè)計(jì)模式。如何讓CPU更有效率的利用起來(lái),需要長(zhǎng)時(shí)間的積累,并非看,想就可以弄明白,而是不斷的實(shí)踐。


        第四層 狀態(tài),你在哪里。這一層同樣建立在第三層基礎(chǔ)之上。掌握了以上三層,只要基本不涉及復(fù)雜算法的程序,可以組織小規(guī)模的程序的編寫了。在這個(gè)時(shí)候,如何有效區(qū)分系統(tǒng)中的狀態(tài),利用狀態(tài)來(lái)進(jìn)行遷移,變得尤為重要。有人說(shuō)通用結(jié)構(gòu)好。反而我認(rèn)為,針對(duì)特定應(yīng)用來(lái)規(guī)劃更優(yōu)秀。對(duì)于單片機(jī)程序而言,幾乎沒(méi)有能夠一摸一樣的項(xiàng)目。而對(duì)于可移植性而言,能夠做到函數(shù)級(jí)別的復(fù)用,已經(jīng)非常難能可貴了。


        第五層 時(shí)間,還是時(shí)間。時(shí)間具備精確性、模糊性、可丟失性,這三個(gè)特性是從應(yīng)用時(shí)間的不同角度來(lái)描述的。精確性應(yīng)用在精確地定時(shí)、計(jì)時(shí)的場(chǎng)合,它是個(gè)強(qiáng)實(shí)時(shí)的概念,比如測(cè)量頻率。模糊性應(yīng)用在需要穩(wěn)定計(jì)時(shí)的場(chǎng)合,它追求的是長(zhǎng)時(shí)間的穩(wěn)定性,而忽略定時(shí)每刻發(fā)生的時(shí)刻,比如顯示日期時(shí)間??蓙G失性是非重要的計(jì)時(shí),它只要求階段性時(shí)間符合而不要求一定時(shí)間到達(dá)就必定發(fā)生,比如LED閃爍的時(shí)間控制、倒計(jì)時(shí)執(zhí)行某些功能性操作,通常是使用時(shí)間系統(tǒng)的時(shí)間發(fā)生標(biāo)志。同時(shí)在這一層如果能夠?qū)INDOWS程序設(shè)計(jì)中的一些優(yōu)秀思想利用起來(lái),則非常好。能夠領(lǐng)悟到這一層的,在我所知道的前輩高手中少之又少。


        第六層 豐富你的視界。這一層是我自己安排的位置。相比前面幾層而言,我覺(jué)得它更為重要。寫單片機(jī)程序,什么最痛苦,當(dāng)然是做界面最痛苦。一個(gè)好的產(chǎn)品,離不開好的UI。在這里,你需要設(shè)計(jì)簡(jiǎn)單易用同時(shí)好看的人機(jī)接口非常不容易。而且對(duì)于簡(jiǎn)單單色點(diǎn)陣液晶的操作,能夠做到顯示界面非常好看,同時(shí)程序結(jié)構(gòu)清晰,非常不容易。很多人都說(shuō),設(shè)計(jì)界面,就像繡花似的。太痛苦了。我一直在折騰,現(xiàn)在還沒(méi)有一個(gè)定論,到底是通用的結(jié)構(gòu)好,還是針對(duì)特定用途還設(shè)計(jì)好。按照我在第四層中的說(shuō)法,這里應(yīng)該根據(jù)特定用途來(lái)規(guī)劃更好些。


        第七層 我們說(shuō)好的。這一層主要是各種各樣的協(xié)議的熟悉。非常重要,因?yàn)檫@個(gè)是和實(shí)際聯(lián)系最為緊密的。工業(yè)現(xiàn)場(chǎng)的各種傳感器,采集儀表如何將采集到的數(shù)據(jù)有效的發(fā)回給上位機(jī)。兩者能夠可靠的通信,軟件層面上都離不開它們。


        第八層 別爭(zhēng)了,讓我來(lái)分配吧。還在為該如何分配CPU的時(shí)間嘛。其實(shí)不用苦惱。千萬(wàn)不要什么東西都重新自己造。你想開車,不用自己造輪子吧,買一個(gè)就可以了。前人其實(shí)對(duì)這些問(wèn)題都研究過(guò)非常多了。因此操作系統(tǒng)應(yīng)運(yùn)而生。有人說(shuō),如果學(xué)會(huì)了在操作系統(tǒng)上面寫程序,將絕不想再回到以前的那種編程方式,聽(tīng)起來(lái)非常誘人。


        第九層 穿著操作系統(tǒng)去裸奔。啥,都用上操作系統(tǒng)了,還想著裸奔。太花心了吧。非也。這里是將前面幾層所提及到的一些思想與第八層融匯貫通??梢哉f(shuō),在這一層,需要對(duì)前面的每一層都非常的熟悉。并經(jīng)過(guò)很多實(shí)際項(xiàng)目的磨練方能有所體會(huì)。


        第十層 無(wú)招勝有招。能夠達(dá)到這一層的應(yīng)該算的上是屈指可數(shù)的高手之一了。在這一層上,除了前面九層的熟練應(yīng)用之外。更牛的人應(yīng)該是可以設(shè)計(jì)操作系統(tǒng),設(shè)計(jì)gui之類的。要達(dá)到這一點(diǎn),需要非常多的基礎(chǔ)知識(shí),以及大量的專業(yè)知識(shí)以及實(shí)踐,再加以10---20年的實(shí)戰(zhàn)經(jīng)驗(yàn),以及一顆不沉寂的心。在這里,無(wú)招勝有招,非常熟悉MCU的特性,能夠利用這種各樣的技巧。這樣的高人,在國(guó)內(nèi)數(shù)一數(shù)二的電子論壇里也不在少數(shù)。


        單片機(jī)的本質(zhì)只是一個(gè)工具。因此,更為重要的是模擬電子數(shù)字電子以及其它基礎(chǔ)的專業(yè)課程。很多人都說(shuō)大學(xué)學(xué)的東西沒(méi)有用,其實(shí)這個(gè)才是最大的謬論。萬(wàn)丈高樓平地起,沒(méi)有這些專業(yè)基礎(chǔ)課程的支撐。以后工作中進(jìn)步非常緩慢。道理很簡(jiǎn)單。學(xué)的東西都是建立在以前的基礎(chǔ)課程上面的。如果一個(gè)連三極管的放大電路都不會(huì)分析的人,我不相信他可以設(shè)計(jì)出優(yōu)秀的電路來(lái)。因此作為一個(gè)合格的電子工程師,除了掌握廣泛的專業(yè)知識(shí)技能外,時(shí)刻不能夠停止學(xué)習(xí)的腳步。



        關(guān)鍵詞: 單片機(jī)程序設(shè)

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉