找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 12097|回復(fù): 14
收起左側(cè)

淺析為什么要使用ST的固件庫(kù),談?wù)勎覀(gè)人的工具思維。!

  [復(fù)制鏈接]
ID:80436 發(fā)表于 2015-5-20 14:38 | 顯示全部樓層 |閱讀模式
發(fā)現(xiàn)網(wǎng)上經(jīng)常有人問(wèn)庫(kù)的問(wèn)題,下面說(shuō)說(shuō)我的理解,我做嵌入式也蠻久了,接觸的構(gòu)建也蠻多,也許我的觀(guān)點(diǎn)能給大家一點(diǎn)借鑒。

什么是庫(kù)?在我接觸stm32之前,玩過(guò)lpc和s3c系列的arm,這些芯片,程序員編程的時(shí)候,很大精力都要用在操作寄存器上,而且還不能保證自己的操作是穩(wěn)定及正確的。在保證對(duì)寄存器的操作正確之后,程序員才能將精力放在應(yīng)用及系統(tǒng)之上,而應(yīng)用和系統(tǒng),對(duì)程序員而言,其意義往往大于對(duì)芯片本身寄存器的理解。因?yàn),芯片只是工具,你理解了一個(gè)芯片的寄存器操作之后,玩一下個(gè)芯片,又需要重新去理解新芯片的寄存器操作。對(duì)于學(xué)習(xí)者而言,去學(xué)習(xí)寄存器是必要的,因?yàn)槟阋瓿芍R(shí)的積累(量變)。然而對(duì)于成熟的嵌入式工程師,都希望盡可能在芯片本身上花的時(shí)間少,因?yàn)樗麄兿Ma(chǎn)品開(kāi)發(fā)周期盡可能短。成熟的嵌入式工程師,都會(huì)花大時(shí)間去研究應(yīng)用和系統(tǒng)框架,因?yàn)檫@些東西可以用在任何一個(gè)芯片構(gòu)架之上,是不變的(思維)。工具(芯片平臺(tái))不管如何換,都是萬(wàn)變不離其宗的--一個(gè)處理器而已。正因?yàn)槌鲇谶@種考慮,st針對(duì)stm32芯片出了庫(kù),所謂的庫(kù),就是針對(duì)stm32這個(gè)芯片,將寄存器的操作都寫(xiě)成函數(shù),提供函數(shù)API給程序員,并且可以保證這些函數(shù)的穩(wěn)定性及正確性。程序員就會(huì)從操作寄存器這繁雜的工作中脫離出來(lái)。需要使用stm32某個(gè)模塊時(shí),只需要翻翻庫(kù)的api調(diào)用方法,或者找找例程,就可以很輕松的用庫(kù)里的函數(shù)(api)操作stm32的某個(gè)模塊。就我而言,今年三月份之前,我還不知道stm32到底是個(gè)什么東西,F(xiàn)在呢,我已經(jīng)在stm32上寫(xiě)了包括各種驅(qū)動(dòng)例程和酷系統(tǒng)(Q-OS)在內(nèi)的比較復(fù)雜的程序,可是對(duì)于stm32某個(gè)模塊具體是如何操作寄存器的,我還真不知道,因?yàn)槲乙恢笔怯脦?kù)的。

現(xiàn)在很多學(xué)習(xí)者是本末倒置的,本來(lái)st出庫(kù),是為了解放程序員對(duì)寄存器的繁雜操作。可是現(xiàn)在沒(méi)有經(jīng)驗(yàn)的初學(xué)者,都拼命想去了解庫(kù)是怎么實(shí)現(xiàn)的,是怎么操作寄存器的。有一種貌似要玩哪個(gè)模塊,就必須懂得寄存器操作這樣的觀(guān)念等等。這些觀(guān)念不能說(shuō)是不正確的,因?yàn)槲液苣芾斫獬鯇W(xué)者對(duì)未知世界的探索欲。但是這樣不講究方法的學(xué)習(xí),到最后得到的結(jié)果就是學(xué)習(xí)者四處碰壁,問(wèn)又沒(méi)人問(wèn),找答案又找不著,結(jié)果灰心喪氣,打擊了自信心,對(duì)嵌入式學(xué)習(xí)的動(dòng)力也沒(méi)有了。

我比較贊同的觀(guān)點(diǎn)就是,對(duì)于一個(gè)只接觸過(guò)單片機(jī)的初學(xué)者而言。不要再將學(xué)單片機(jī)的一套方法用在stm32上。初學(xué)者大可以放下心來(lái),第一次學(xué)的時(shí)候,不去追求庫(kù)的具體實(shí)現(xiàn),不去過(guò)問(wèn)如何操作寄存器,只是放心的調(diào)用庫(kù)的api,相信庫(kù)的可靠性(實(shí)際上它真的很可靠)。多研究下庫(kù)里每個(gè)模塊都有哪些api,api如何使用,有些什么參數(shù),返回的是什么值等。我相信這是很簡(jiǎn)單的事情,因?yàn)楹芏郺pi看名字就知道怎么用了,何況網(wǎng)上還有這么多例程和文檔可以參考。然后組織這些api,寫(xiě)出你想要的有趣的應(yīng)用,提升自己對(duì)嵌入式的興趣,保障自己的信心。要記住,你第一遍是在享受庫(kù)給你提供的快捷和方便!等你對(duì)stm32的每個(gè)模塊都有了了解,第二次學(xué)的時(shí)候,因?yàn)橛辛巳钟^(guān)和信心,你再耐下心來(lái),隨便挑個(gè)模塊研究下庫(kù)的實(shí)現(xiàn),研究如何操作寄存器,寄存器操作有什么技巧等等。我相信這個(gè)時(shí)候,難度已經(jīng)大大降低了。

用我說(shuō)的這種方法,層層深入,學(xué)會(huì)引導(dǎo)自己,才能夠大大降低學(xué)習(xí)難度,讓自己真的了解stm32是個(gè)什么東西。永遠(yuǎn)要記住,庫(kù)和stm32以及其他芯片,都只不過(guò)是個(gè)工具而已,掌握工具是必須的,然而核心的關(guān)鍵的,是思維!




下面借這個(gè)機(jī)會(huì)向大家介紹一下我總結(jié)的“工具思維方法_論”,拋磚引玉,希望和大家交流!

這兩年來(lái),我接觸的事物非常多,本來(lái)就是個(gè)閑不住的人,興趣又廣泛,精力無(wú)限。經(jīng)歷多了,自然感悟就多了,感悟多了,很多東西就看開(kāi)了。今天我寫(xiě)在這里的,就是這幾年以來(lái),我所塑造的屬于自己的人生哲學(xué)。我不清楚這一套方法理論是不是適合別人,但是就我而言,它已經(jīng)能幫我解決生活中的所有事情,我希望看我文章的人,對(duì)自己的思維也能有相同的思考,或者從我的方法里能夠得到借鑒。

在參看我的方法_論之前,如果你了解王陽(yáng)明心學(xué),那就更好了。我的方法_論,完全基于心學(xué),是一個(gè)實(shí)踐性擴(kuò)充而已。

我從高中開(kāi)始知事,懂得去努力爭(zhēng)取自己想要的,那時(shí)的我,為了一所好大學(xué)而努力,去克服心中最原始的人性弱點(diǎn),如懶惰、軟弱、虛榮等。我當(dāng)時(shí)雖然不知道像今天一樣去引導(dǎo)自己,但是正是因?yàn)檫@種艱辛的環(huán)境,促成了我對(duì)自己情商最基本的認(rèn)識(shí),懂得去約束自己,為我未來(lái)的成功之路邁出了第一步。

在大學(xué)里,我跟很多人一樣,想要實(shí)現(xiàn)自己的價(jià)值,想要自己賺錢(qián)養(yǎng)活自己。于是我做了很多事情,學(xué)生工作、家教、賣(mài)報(bào)紙、推銷(xiāo)電話(huà),只要是我想嘗試的,我都努力去嘗試。正因?yàn)檫@點(diǎn)點(diǎn)滴滴的遇事,讓我開(kāi)始懂得觀(guān)察和思考,去探索自己最內(nèi)心的思緒。

我大學(xué)的時(shí)候,在知識(shí)上完成了兩次積累,一是對(duì)平面設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)的知識(shí)積累,大概學(xué)了一年多的時(shí)間,曾一度希望靠做網(wǎng)站賺錢(qián)養(yǎng)活自己。二是對(duì)嵌入式的積累,在我接觸單片機(jī)的那一瞬間,我就知道這輩子已經(jīng)交給嵌入式了,而嵌入式,也必將成為我人生最重要的工具。因?yàn)檫@兩次知識(shí)積累,我都是靠自學(xué)完成的,沒(méi)有誰(shuí)教我什么,一切都是靠自己摸索。所以深刻的相信,很多路,真的沒(méi)人可以供你借鑒,只有靠你自己走,才能走出來(lái)。也正是這些學(xué)習(xí)經(jīng)歷,我開(kāi)始懂得如何引導(dǎo)自己,我曾寫(xiě)過(guò)一篇《寫(xiě)在大學(xué)最后的一些話(huà)》,就是講述如何找到自己的興趣,利用自己的興趣去克服學(xué)習(xí)遇到的困難,去克服人性的弱點(diǎn)。

畢業(yè)之后,我也做過(guò)自己的產(chǎn)品,借此而創(chuàng)業(yè),當(dāng)然現(xiàn)實(shí)殘酷的打擊了我。我還換過(guò)好幾份工作,結(jié)果發(fā)現(xiàn)都不是自己想要的工作。我曾一度迷茫,不知道未來(lái)會(huì)怎樣,不知道中國(guó)是否有適合我的工作。我也一度很瘋狂,拼命的學(xué)習(xí)新的東西,希望新的東西能夠帶給我更多的競(jìng)爭(zhēng)力,讓?xiě)?yīng)聘單位知道我是一匹好馬。我不斷的反問(wèn)著自己的人生,不斷的思考,在這種基礎(chǔ)下,兩件事情改變了我。

第一件事情就是我看了一本書(shū),叫《明朝那些事兒》,也許大多數(shù)人把這本書(shū)當(dāng)小說(shuō)看。但是我從來(lái)都是個(gè)喜歡多想的人,對(duì)于我而言,從這本書(shū)里感悟到的東西,遠(yuǎn)遠(yuǎn)比一本小說(shuō)多。起碼,我知道了王守仁,知道了心學(xué),我才發(fā)現(xiàn),我之前所總結(jié)的一切思想,原來(lái)是有依據(jù)的,原來(lái)也有人總結(jié)過(guò)(當(dāng)然,我的總結(jié)比王守仁還差得很遠(yuǎn),只能說(shuō)我對(duì)自己的方法總結(jié)有向這個(gè)方向發(fā)展的趨勢(shì))。我開(kāi)始成為一個(gè)唯心的人,我更加透徹的借助生活經(jīng)歷跟自己的內(nèi)心對(duì)話(huà)。

第二件事情就是我開(kāi)始炒股,從09年11月開(kāi)始,我揣著自己的夢(mèng)想和一萬(wàn)塊錢(qián)進(jìn)入二級(jí)市場(chǎng),當(dāng)然,我不是股神,現(xiàn)實(shí)也很殘酷,雖然我小有自負(fù),可是一萬(wàn)還是被我虧掉三千。現(xiàn)在也已經(jīng)不記得當(dāng)時(shí)的心痛,只不過(guò)我知道,我必須堅(jiān)持。我曾不止一次的在自己寫(xiě)的東西里提到,促進(jìn)事情成功的因素很多,可是決定成功的因素只有一個(gè),就是堅(jiān)持。當(dāng)然,堅(jiān)持也要有方法,我取出股市里的錢(qián),告訴自己,如果不能將模擬股市中的十萬(wàn)變成十五萬(wàn),就不再做實(shí)盤(pán)。于是在這樣的環(huán)境下,我堅(jiān)持認(rèn)真對(duì)待自己的模擬盤(pán),天天早上起來(lái)看新聞,每天花最少兩個(gè)小時(shí)看盤(pán)。我跟一些老手聊天,他們說(shuō)很難想象將虛擬盤(pán)看得和實(shí)盤(pán)一樣,可是我做到了,它們?cè)谖铱磥?lái)是一樣的。在我的堅(jiān)持之下,我對(duì)股市的認(rèn)識(shí)慢慢有了質(zhì)的改變,更多的,我對(duì)自己人生的認(rèn)識(shí)也有了質(zhì)的改變。

我曾經(jīng)在自己一系列的股市總結(jié)里提到,股市是人生的濃縮,做不好股市的人,人生也不會(huì)成功;人生成功的人,做股市也不會(huì)虧。我越來(lái)越發(fā)現(xiàn)股市和人生的共通:股市是賭,你每次下注,都不知道明天你的股票是跌是漲;人生之事也是賭,你永遠(yuǎn)不知道明天是加薪還是失業(yè),你也不會(huì)知道你大學(xué)畢業(yè)后是得到什么或是感嘆日子空虛。所不同的是,在股市里,你會(huì)擁有人性一切的弱點(diǎn),只看虛幻的利而忽視風(fēng)險(xiǎn)。就是說(shuō),在股市里,你愿意下大籌碼,去參與一個(gè)贏的概率小,但是賠率很大的賭局。而人生中,人顯得更加理性,你愿意找一份安穩(wěn)的工作,而不愿意去博一把,如創(chuàng)業(yè),辭職再找更好的工作等等。相當(dāng)于,在人生中,你愿意下小籌碼,去參與一個(gè)贏的概率大,但是賠率比較小的賭局。

正是因?yàn)槲胰松目偪偨?jīng)歷,加上當(dāng)年明月對(duì)我的點(diǎn)撥,加上股市這場(chǎng)濃縮人生對(duì)我的摧殘,加上嵌入式這項(xiàng)事業(yè)給我的實(shí)踐機(jī)會(huì),加上我自己勤于思考的習(xí)慣和我因?yàn)閼卸瓒鴮W(xué)會(huì)引導(dǎo)自己的方法,讓我終于有一天看通了所有的事情,讓我完成了由量到質(zhì)的蛻變。我發(fā)現(xiàn),身邊所有的所有,嵌入式,股市,工作,arm,開(kāi)發(fā)環(huán)境,單片機(jī),c語(yǔ)言,網(wǎng)頁(yè)設(shè)計(jì),google,淘寶,pcb,所有的所有,都只是工具而已,真正的核心,亙古不變的核心,只有一樣,就是你的思維!

Photoshop\Dreamware只是一個(gè)工具,你要做的第一件事就是用自己的方法去掌握這個(gè)工具,完成量的積累。當(dāng)你掌握這些工具,你的思維,才是決定你是否能成為優(yōu)秀設(shè)計(jì)師的本質(zhì)。你是否在看到一個(gè)平面廣告或者網(wǎng)頁(yè)的時(shí)候,默默的思考其最吸引人的理念?你是否在畫(huà)圖之前,就已經(jīng)確切的知道,你要傳遞給看圖者的感覺(jué)、理念或者價(jià)值是什么?你是否有一個(gè)思維庫(kù),將別人好的觀(guān)念都放進(jìn)來(lái),將錯(cuò)誤的思想都打上禁止符?

單片機(jī)、arm、操作系統(tǒng)、庫(kù)也只是一個(gè)工具,你要做的第一件事情就是用自己的方法去掌握這些工具,完成量的積累。當(dāng)你掌握了這些工具,你的思維,決定了你是否有成為優(yōu)秀開(kāi)發(fā)者的潛質(zhì)。當(dāng)你接觸了足夠多的構(gòu)架芯片或系統(tǒng),完成質(zhì)變,你會(huì)發(fā)現(xiàn),你和今天的我一樣,你看所有的處理器,都是一樣的,都是執(zhí)行指令。你看所有的協(xié)議,都是一樣的,都是指定io在指定時(shí)間指定電平。你學(xué)新的庫(kù),學(xué)新的操作系統(tǒng),學(xué)新的構(gòu)架,你不會(huì)再害怕,不再急躁,你會(huì)按部就班,從易到難,步步為營(yíng);你會(huì)發(fā)現(xiàn),原來(lái)覺(jué)得不夠用的資料,現(xiàn)在信手沾來(lái),原來(lái)到處都是;你會(huì)發(fā)現(xiàn),你不再去強(qiáng)迫自己記枯燥的知識(shí),而是把握最核心的思想;你會(huì)發(fā)現(xiàn),你不會(huì)再將自己的競(jìng)爭(zhēng)力放在多熟悉一種芯片上,也不會(huì)放在年輕,記憶上,而是放在隨著時(shí)間增長(zhǎng),經(jīng)驗(yàn)增長(zhǎng)會(huì)導(dǎo)致越來(lái)越完善的思維上。你會(huì)更加關(guān)注精而不是多,你會(huì)更加相信踏實(shí)的重要性,你會(huì)更加善于引導(dǎo)自己,而不是跟自己做斗爭(zhēng)。你會(huì)發(fā)現(xiàn),很多道理真的很簡(jiǎn)單很簡(jiǎn)單。這些是什么,這些就是思維!

股市,也不過(guò)是一個(gè)工具,它讓你懂得人生的本質(zhì),要想贏,你就必須去參與贏的概率大的賭局,根據(jù)自己的承受能力去下注。它讓你懂得,要克服內(nèi)心的恐懼與貪婪,只有用自信和滿(mǎn)足。它讓你懂得,在最不能忍受的時(shí)候,依然要堅(jiān)持。股市和人生,完全想通。這些是什么,就是思維!

創(chuàng)業(yè),也只不過(guò)是一個(gè)工具,你要懂得自己在創(chuàng)造什么價(jià)值,是否有人需要這種價(jià)值,你如何將價(jià)值傳遞出去。做什么產(chǎn)品,只不過(guò)是個(gè)價(jià)值載體--工具而已!有了策劃方案,有了營(yíng)銷(xiāo)手段,把握了思維,你才能贏。資金?工具而已!

工具思維方法_論還有很多實(shí)踐案例,人生之中所有的事情,都可以用這種論點(diǎn)來(lái)思考,來(lái)指導(dǎo),有如下幾點(diǎn)中心思想:
1.工具是死的,思維是活的,遇到問(wèn)題,一定要記住,你是萬(wàn)能的人,你要想辦法,不能坐以待斃。山越不過(guò),就繞過(guò)!這是典型的知行合一思想。
2.永遠(yuǎn)不要參與輸?shù)母怕蚀笥谮A的概率的賭局,否則你失敗,你堅(jiān)持不下去,就不能怪任何人!
3.量的積累是很漫長(zhǎng)的,多思考,可以減少積累的時(shí)間。量的積累是很艱辛的,要學(xué)會(huì)引導(dǎo)自己,而不是跟自己做斗爭(zhēng),人性的弱點(diǎn)無(wú)法戰(zhàn)勝,卻可以引導(dǎo)。(目前酷學(xué)玩倡導(dǎo)的,就是以興趣為引導(dǎo),讓學(xué)習(xí)者學(xué)習(xí)更持久)。
4.可以暫時(shí)性的只關(guān)注你需要的,屏蔽你不需要的。
5.要記住堅(jiān)持的重要性,但是要講究方法的堅(jiān)持,死扛性質(zhì)的堅(jiān)持,得到的效果往往并不理想!
6.站在各種角度思考問(wèn)題,如,站在對(duì)方的角度。
7.要做一個(gè)開(kāi)拓者,有時(shí)不一定要走別人的路,完全可以自己走出一條路。不要鄙視別人,不要羨慕別人,每個(gè)人有自己的路!
8.有時(shí)慢比快好,當(dāng)你有了全局觀(guān),有了思維,你可以從容不迫的去做事。
9.做快樂(lè)真實(shí)的自己!


回復(fù)

使用道具 舉報(bào)

ID:105113 發(fā)表于 2016-2-5 20:41 | 顯示全部樓層
您的這篇文章,是我在查找關(guān)于stm32相關(guān)資料時(shí)候看到的,本來(lái)只是想眼睛掃視一遍的,但當(dāng)我看的時(shí)候,卻發(fā)現(xiàn)在您的身上,我看到了自己,(盡管經(jīng)歷的事情不一樣),產(chǎn)生了共鳴!
您的這篇文章給了迷惘的我很大的啟發(fā),我一定像您一樣講方法地堅(jiān)持下去,我相信幾個(gè)月后我就可以吃掉stm32了。。謝謝您寫(xiě)了這篇文章。!
回復(fù)

使用道具 舉報(bào)

ID:105372 發(fā)表于 2016-2-13 04:01 來(lái)自觸屏版 | 顯示全部樓層
感謝 分享對(duì)我這種初學(xué)者很有幫助
回復(fù)

使用道具 舉報(bào)

ID:107630 發(fā)表于 2016-3-24 15:06 來(lái)自觸屏版 | 顯示全部樓層
我也是看完明朝那些事兒后看到有個(gè)王陽(yáng)明這個(gè)心學(xué)大師,你說(shuō)的對(duì)要順應(yīng)自己的內(nèi)心,增加自己的思維緯度
回復(fù)

使用道具 舉報(bào)

ID:110895 發(fā)表于 2016-4-6 17:19 | 顯示全部樓層
從51轉(zhuǎn)到ARM,真的很不習(xí)慣庫(kù)函數(shù)。
回復(fù)

使用道具 舉報(bào)

ID:112486 發(fā)表于 2016-4-7 00:27 | 顯示全部樓層
認(rèn)同樓主的觀(guān)點(diǎn),先應(yīng)用再深究
回復(fù)

使用道具 舉報(bào)

ID:112671 發(fā)表于 2016-4-7 11:17 | 顯示全部樓層
深有感觸
回復(fù)

使用道具 舉報(bào)

ID:116836 發(fā)表于 2016-4-29 14:18 | 顯示全部樓層
受益良多、。
回復(fù)

使用道具 舉報(bào)

ID:137972 發(fā)表于 2016-8-30 19:29 | 顯示全部樓層
我還在大學(xué),發(fā)現(xiàn)除了炒股,其他經(jīng)歷好像。」,這篇文章,有共鳴啊。謝謝!
回復(fù)

使用道具 舉報(bào)

ID:105698 發(fā)表于 2016-10-9 09:57 | 顯示全部樓層
深度好文!看了你的文章,感覺(jué)眼前一亮,以前走的都是彎路啊。。。。
回復(fù)

使用道具 舉報(bào)

ID:142323 發(fā)表于 2016-10-11 15:35 | 顯示全部樓層
是的,樓主分析的很好,謝謝
回復(fù)

使用道具 舉報(bào)

ID:71535 發(fā)表于 2016-10-15 08:23 | 顯示全部樓層
感謝 分享對(duì)我這種初學(xué)者很有幫助
回復(fù)

使用道具 舉報(bào)

ID:142965 發(fā)表于 2016-10-17 22:52 | 顯示全部樓層
你好    非常感謝的你的資料
回復(fù)

使用道具 舉報(bào)

ID:143542 發(fā)表于 2016-10-20 09:50 | 顯示全部樓層
草泥馬的這個(gè)網(wǎng)站
回復(fù)

使用道具 舉報(bào)

ID:71535 發(fā)表于 2016-11-3 14:01 | 顯示全部樓層
感謝 分享對(duì)我這種初學(xué)者很有幫助
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表