學習STM32的理由!!!!
linux
STM32嵌入式入門必看之文章-----介紹很是詳細!(學習STM32的理由!!!!)網絡
爲何要寫這篇文章呢?這是一篇關於嵌入式入門的文章,由於我在進入嵌入式這個領域以前,也是遇到過很是多很是多的困難,因此呢,但願寫下這篇文章,讓你們看看少走彎路。
首先,我打算先列舉一下你們問得最多的幾個問題,而後咱們一塊兒由問題切入進行一些討論。
問題1:我是學單片機好仍是直接學STM32好???
問題2:STM32如何才能快速入門?
問題3:爲何是STM32呢?爲何不是ARM9,ARM11呢?
下面我將逐個答覆
首先問題1:我是單片機好仍是直接學STM32好呢?
答:首先咱們談下目的,你學習的最終目的是可以開發產品或者成爲項目經理;而目前市場上的單片機都基本用C語言了,用匯編進行開發的項目已經很是少了
在硬件接口這個環節上都同樣:學51單片機和學STM32都是同樣的,主要看其市場上的資料是否是足夠充分,都是調用硬件的接口,控制I/O,完成相應的功能
在軟件這個環節上,STM32要強過51單片機:爲何這麼說呢?學STM32它自帶一個官方的庫,而這個庫的源代碼是開放的;而51單片機卻沒有,也就說,當你作一個具體項目的時候,用STM32開發項目速度會比用51單片機要輕鬆快捷,方便,而且BUG也少.
ST的這個庫專門是由ST官方團隊打造的,是通過詳細認真測試過的,例如:你要作處理器支持USB的U盤功能,對51來講,你可能須要在網上去找這樣一個驅動,而後移植到51單片機上,這樣的缺點是:移植自己就比較累,比較麻煩,並可能有些代碼不必定通過驗證了的,很難保證沒有BUG;而STM32是官方推薦的庫源代碼,這些功能早就有了,因此用STM32開發項目作起來很是的輕鬆,愉快,放心,BUG也少。
從選型方面考慮:STM32的性價比與單片機相比,雖然說單片機很便宜了,通常市場上就5塊錢左右,而STM32最便宜的是10元多一點,可是若是比性價比,STM32仍是很要強過51單片機不少,爲何呢?由於首先STM32是72MHZ的主頻,而51單片機是10多M,隨着將來產品功能增多了,要求愈來愈高,可能51單片機的速度和性能就知足不了需求,而STM32足夠強勁的主頻,能夠延緩這個問題,使得您的產品週期生命獲得延長,並且你有其餘新需求也能夠靈活增長上來,由於STM32徹底有能力負擔得起。架構
問題2:STM32如何才能快速入門?
答:首先就是最好具有基本的電子基礎,若是您只有純軟件基礎,那就應該打紮實C語言基礎,而後弄一塊開發板,邊學邊補充硬件電子方面的知識,由於軟件背景去理論的學硬件,那是很是枯燥的事情,並且效果也不必定理想;那麼此時你就須要一款比較的板子,板子大與小,功能多與少都不是那麼重要,這裏最重要的就是要資料豐富,資料豐富,纔是最好的;我當時就從同事那裏弄了一塊STM32神舟系列的板子,大概花了1,2個星期就正式入門了。如下是我摘抄的關於那個板子的一些特色,你們能夠看看:
關於STM32神舟開發板的特色有哪些呢?????
特色1:STM32神舟系列的每款開發板都有一個很是詳細的幾百頁的說明手冊。有不少愛好者反映,買到的開發板沒有手冊或手冊不全,手冊不詳細,拿到手後沒有什麼用,無從下手,那麼您能夠考慮STM32神舟系列的開發板,其中神舟IV號的手冊有將近700多頁之多,不管仍是從原理仍是從代碼都是很是值得閱讀的資料書籍。
特色2:開發板所帶的例程代碼很是好,易懂和方便移植。不少開發板的代碼寫得很難閱讀,不規範,有的甚至是用寄存器實現的代碼,可讀性很是差,而且不容易重用到新的實際項目中,而STM32神舟系列的開發板,所有用ST的專用庫實現,庫代碼所有開源,庫便是將底層寄存器部分代碼所有封裝成函數,融入了軟件設計的架構理念,想跟蹤到硬件實現的驅動底層,就跟進對應的函數便可看到一切原始代碼,因此您能夠有選擇的想看寄存器版本就看寄存器版本,想看函數庫版本就有函數庫版本,不管對實際項目也好,針對學習也好,一箭雙鵰!!!
特色3:神舟系列板子由於系列全,因此技術支持以及技術進一步拓展空間大。許多單獨的開發板技術支持根本不行,有的就算是技術支持不錯,可是你想更深刻一步去學習,就很難了;而成一個完整系列的STM32神舟系列是值考慮和選擇的,由於該系列包含了103RBT,VCT,VET,ZET,以及107VCT多個系列的開發板,不管你先學難,再拖展知識面,仍是怎麼樣都好,絕對不怕資料少!沒資料!!!並且各個系列之間還能夠相互借鑑,相互依存,各個設計的高手很是多,你們一塊兒相互交流,產生更多更新碰撞和資料。
特色4:硬件資料豐富。硬件資源以及相關資料都比同類開發板要多不少,由於該系列是一個組織在維護和發展,並非單獨的我的愛好所設計的板子,這個組織走在最前沿,不斷收集行業內的知識,在神舟系列上進行驗證和實現,因此資料也會愈來愈多。
特色5:板子的網絡接口特別增強。許多STM32開發板沒有考慮到網口這塊以及無線2.4G(WIFI)和315M通訊的例程,隨着嵌入式設備在網絡方面日益普及,以太網以及無線網都是嵌入式設備中必不可少的一個環節,就算有的嵌入式設備不須要網口,可是作爲提供開發板的設計,不可不考慮增強網口這塊的例程,代碼,講解,爲各個開發愛好者作一個提早準備和設計,而這些接口神舟系列有已經直接運行的代碼以及詳細的講解,你們得到相關資料,相互參考一下。函數
問題3:爲何是STM32呢?爲何不是ARM9,ARM11呢?
答:這裏有個誤區,不少同窗若是就僅僅但願入門嵌入式,那就儘可能不要選擇ARM9和ARM11,爲何呢?由於誘惑太多了,由於你一旦選擇ARM9或ARM11,那麼這個平臺就僅僅linux和wince等操做系統內核,驅動,應用,各類協議,硬件原理圖,等都有夠學一年半載了,沒這點時間,你沒法徹底掌握,因此並不適合入門,週期太長,難度相對來講較大。
入門最好選擇主頻低一點的處理器,一切都是先掌握好原理,弄明白,弄透徹了,一切就都好辦!因此單片機中,STM32是目前最最主流的芯片,加上目前STM32的資料很是的多,因此,最好仍是推薦STM32的開發板作爲入門級的板子,學會以後,便可本身獨立開發出各類產品,STM32官方提供的開源代碼庫也是很是好用,將底層的各類彙編,管腳定義都封裝成了各個功能函數,開發起來很是方便,快捷!性能
更多學習嵌入式 STM32的童鞋們請諮詢李老師QQ1962426343 TEL15737137972學習