首頁>Club>
5
回覆列表
  • 1 # TopSemic

    推薦從ST新推出的STM32F030系列入手,這顆晶片是採用的M0核心。M0核心可以說是M3,M4等核心的一個子集,當然架構上是一樣的。理解了M0+基本上也就理解M3,M4的原理了。從硬體上來說,即使是一塊官方的開發板 NUCLEO-F030R8 也是非常便宜。從軟體來說,配套的正版 Keil 開發環境是免費的,在官方網站就可以下載到。STM32F030 使用最新的Cube程式碼庫,工程師只要熟悉怎麼呼叫就行了,再也不用去花大量時間研究暫存器。熟悉了這個晶片後,可以快速的擴充套件到效能更高的M3,M4等產品。開發流程和庫的呼叫都是一樣的。

    如何快速入門STM32F0系列微控制器,如何從微控制器進階到嵌入式 Linux,如何玩轉MicroPython, 有經驗豐富的工程師和你分享心得。

  • 2 # JeremyLinzh

    自學STM32步驟如下。

    1、如果沒有C語言基礎,必須先學C語言。學習C語言書籍推薦C Primer Plus,這本書看完,基本的C語言語法就差不多了。

    2、學習數電相關知識。STM32屬於微控制器,所以基本的數電知識還是要掌握的。數電書籍很多,找一本數電書籍,把裡面的數電相關知識學習一遍。

    3、買一塊STM32開發板,推薦買正點原子的STM32開發板。正點原子的開發板資料比較多,適合新手入門學習。另外,新手學習STM32開發,我是推薦暫存器模式開發。因為STM32屬於微控制器,微控制器開發一定要知道暫存器是如何操作的。所有的微控制器開發都是要配置暫存器的,如果你用STM32的庫函式學習,你對底層暫存器一無所知,底層程式碼出問題了,你就不會排查問題了。因為微控制器都會用到暫存器,所以學會了STM32的暫存器開發,學習其他微控制器開發也就很簡單了。等暫存器熟悉了,在庫函式學習,就很簡單了。

    4、以上三個步驟是可以結合起來學習的,有C語言和數電知識的話,那就直接買STM32開發學習。

  • 3 # 創客小張

    學習STM32F103嵌入式微控制器之前,需要我們掌握C語音基本語法和51程式設計整體思路。我們可以在學習51的基礎上進行STM32的學習。STM32微控制器可以從以下幾方面入手。首先是嵌入式編譯環境KEIL5的認識和使用,然後是STM32微控制器程式中“庫”的瞭解與學習,其次就是專案的實踐,我們可以在理論的基礎上進行相關STM32專案的實踐,從實踐中總結學習方法,最後給大家說的是:微控制器資料手冊和正點原子開源例程是我們最好的學習資料。

  • 4 # 玩轉嵌入式

    STM32微控制器的價效比和功能很豐富的,應用廣泛,學好STM32對就業很有幫助,前景很不錯。給初學者提出幾點建議。

    入手一塊適合的開發板

    學習微控制器就是要學習微控制器外設電路的設計、微控制器程式的編寫以及電子產品開發的流程。而開發板是一個不錯的選擇,將常用的外設電路都整合到開發板上,方便了學習,廠家還會提供相應的例程和學習資料,省去了自己找資料的過程。

    學習硬體電路的設計

    拿到開發板首先研究一下硬體電路,對每一個功能模組的外設電路分析一下,在分析的過程中要理解器件的使用,控制方式,如果你做方案會用哪些元器件來實現這個功能。在學習之處可以看的不用太深,但是一定要知道控制原理,後面程式設計要知道。

    學習C語言程式的設計

    在初學階段,要讀懂廠家提供的例程,學習微控制器的暫存器是什麼,學習暫存器是如何工作,如何配置的,要讀懂例程是如何透過程式控制硬體的,比如和輸出高電平點亮/熄滅LED,如何實現IIC通訊等。程式的實現方式因人而異,所以要拋開例程,自己去程式設計。

    學習產品的設計流程

    學習是途徑,會做做產品才是最終目的。要懂得如何提出需求,把需求轉化成技術方案,要考慮如何選型,如何控制成本,如何提高產品的穩定性等。所以要多多的參與專案、參與產品的研發。

    最後必須要說的是,學習微控制器一定不要整天抱著書看,而是要多動手。

  • 5 # 中國頂級科技評論人

    這都回答的什麼鬼東西哦。。。

    我給你整理下,現在學習STM32最好方法,就是下載cubemx,然後學習HAL庫或者LL庫。

    問我什麼是庫?庫就是我們用它去實現微控制器暫存器的配置,更加容易看得懂。因為這種32位的微控制器不像8位機那樣,暫存器太多了,不容易記憶的。所以就搞出來庫函式。

    那麼為什麼有這麼多種庫,事實上STM32也就是意法它本來就是想賣晶片,它非常懂華人需求,想把晶片賣出去,那配套就要又全又好,最好還要簡便。

    那麼,庫函式也是人寫的,就涉及到一個庫函式要不要升級版本的問題?比如解決之前的bug,比如做到相容下一代產品,等等。

    所以經歷了從標準庫到HAL庫再到LL庫的演變。HAL與LL庫應該不是一幫人寫的,它家裡技術儲備還是很強的。兩個庫的可讀性都很好,個人建議上手HAL庫,這個簡單一點,網上教程也非常多。

    介紹完了這個庫,介紹一下HAL的學習,首先你得下載STM32cubemx,然後下載相關庫。當然前提是你得有一個開發板,從STMF103c8t6這樣48引腳的開發板玩起。然後,你可以在下載的檔案裡面看到各種範例,STM32牛就牛在,你想到的功能基本上在它給你的例程裡面都有現成的,所以,很容易上手。

    然後,如果你還是看不懂這個東西,我建議去搜索兩個資源,一個是硬石stm32,一個是微雪stm32。我說的都是HAL庫。如果你覺得標準庫更適合你,搜尋劉凱老師的stm32影片。當然了,這些資源我都有。有機會我給你分享一下如果你需要的話。

    最後呢,我還想說,這個微控制器很強大,但是需要一定的耐心去學習,否則基本上都是半吊子。

  • 6 # 跟我學微控制器

    不請自來!!

    首先,擁有一塊stm32開發板

    俗話說巧婦難為無米之炊,沒有米你能做出飯來嗎,沒有可能。現在的開發板真的是便宜到家了,如果作為第一塊版,建議入手最最簡單的就可以,開始千萬不能貪多。一下子涉及太多,容易撐死。可能導致你壓力山大,感覺這也挺難,那也不會,最終導致你可能會放棄。

    第二、學習C語言程式設計

    無論你的C語言掌握的有多爛,只要你願意學習,想成為一個高手其實也不難。只要能夠堅持程式設計10000個小時,什麼都不是難題。那麼該從哪裡開始呢?就從hello world開始吧。

    第三、堅持真正的程式設計,不要做一個複製貼上的copier

    如果你下定決心學習程式設計,那麼在學習的過程中,一定不要複製貼上。複製貼上只是用於快速完成工作任務,絕對不能用於學習。堅持敲程式碼,可以培養你的程式設計感覺,能夠讓你沉侵在程式設計的樂趣當中。不信,你堅持敲10個例子程式,並保證執行正確。你的感覺馬上就來了。

    第四、透過專案來學習昇華

    單純的學習是很枯燥的,不知道學習完了用來幹什麼。如果在你的工作當中恰好在使用stm32,那麼恭喜你,這非常有利於學習進步,一是團隊中不是你一個人在戰鬥,可能有其他人可以幫助你指點。也可以在專案中發現問題,解決問題,而解決問題的本身就是學習的一個方式。

    如果很不幸,你沒有專案可以參與,那就給自己定個小目標,比如做一個四輪驅動小車,做個無人機等等。這些都可以自己去做,透過實踐來學習,注意一定要學以致用,可以做自己感興趣的東西。

    第五、瀏覽官方網站和開源網站的相關資料

    st官方網站資料是非常豐富的,單元模組例子基本上都很全,我認為這也是stm32系列微控制器能夠一統天下的關鍵所在,各種庫齊全,資料多,上手快。開源網站github是一個不錯的去處,有很多有意思的專案可以學習參考。

    總結,興趣是最好的老師,如果真的想要學習一個東西,只要有興趣、並且堅持下來,沒有什麼不可以的,難道不是嗎?

  • 7 # 魚鷹談微控制器

    首先你要有一個開發板,如果你是剛入門微控制器領域的,建議從影片開始學習。書籍方面最起碼要有一本 C 語言書籍,方便查閱 C 語言知識點。

    剛開始學習的時候注意以影片為主,反覆看都看不懂的知識點可以看書,還是不懂的話就要上網搜尋答案了(當然如果身邊有前輩的話也可以請教,這是最好、最直接的方式)。多方面結合學習效果更好。

    說說我的學習經歷吧。我是大一的時候在實驗室接觸到微控制器的,目前已經畢業了,學習時間也不短了。一直以來在別人學習各種程式語言的時候,我都始終堅持只學 C 語言,只用 C 語言,雖然後期為了更好的理解 C 語言學了點彙編知識,但也只是皮毛罷了,所以我最擅長的還是 C 語言。

    C 語言學習最重要的是多練,多看。多練就是需要透過一些小的專案去運用你所學的知識,這樣你才能更深刻的理解。而對於 C 語言語法問題,這種是最簡單和基礎的錯誤,既不要太重視也別輕視,平常心對待就行了,因為你寫的語法錯誤會有編譯器幫你檢查出來的,一旦出現警告和錯誤,一定要看輸出資訊,透過資訊來判讀你的錯誤原因。一定要注意看懂英文,理解它表達的中文意思,別說自己英文水平太爛,看不懂,多看幾次,多用Google翻譯一下就記住了,熟能生巧。如果說你知道了表達的錯誤意思,但還是不知道怎麼解決問題,那麼就把這條出錯資訊複製一下,然後貼上到網上搜一下就知道了,你要知道,你碰到的絕大多數問題別人都可能碰到過,也可能解決了。所以要充分利用網上的資源學習。多看,就是要多看別人的程式碼,這樣才能發現自己不足的地方,並且可以學習別人優秀的地方。STM32學習中庫函式會是很好的學習資源,這個程式碼寫的非常規範,如果感興趣的話可以多看看庫函式的實現,這對你的 C 語言學習會有非常大的幫助。

    然後是微控制器的學習,微控制器軟體開發基本上都是基於 C 語言的,所以你的 C 語言基礎一定要紮實,這樣你的微控制器學習之路才能走的更順暢。微控制器學習無非就是各個模組的使用,所以學習的過程就是按照影片教程一個模組一個模組的學習,雖然辛苦,但你會發現自己每天都在進步,會有很大的成就感,這種成就感不是課堂學習能比的。

    STM32微控制器資料現在做的比較好的有正點原子和安富萊這幾家,它們的入門資源也很豐富,可以好好利用。不過我當初學 STM32 時看的是 劉凱 老師的影片,也是相當不錯入門影片教程了。

  • 8 # 知識匯聚

    學習stm32微控制器,無非就是學習微控制器的外設暫存器配置,如果僅僅只是學習微控制器的使用,建議先學習使用庫函式的使用方法。如果想深入瞭解微控制器的內部原理,那就從資料手冊開始入手,資料手冊可以從官網或其他渠道下載,對於不理解的地方建議從網上搜索相關影片學習。

  • 9 # 愛上半導體

    要想學好STM32,不僅僅需要學好程式設計,還要具備一定電子電路的知識,不需要太深,對上拉、下拉電阻,LED燈、三極體這些有一個基礎的認識就行。

    其次就是要對C語言有一定的理解,不需要太深,把基礎語法搞懂了就行。後期遇到不會的可以直接翻書,這樣效果最好。

    電子電路

    STM32屬於COMS積體電路,除了要掌握基本的《類比電子技術》之外,還需要對《數位電子技術》有一定的瞭解,比如閘電路、觸發器這些,一定要明白他們的工作原理,才會清楚微控制器的工作原理,這樣你也會明白軟體是如何控制硬體的。

    庫函式

    有的小夥伴想速成,想直接學STM32的程式設計,不想學那些電子有關的可以嗎?

    答案是完全可以的,即使不懂那些電子知識,你也可以學會STM32,用STM32開發專案,只不過這樣對STM32的工作原理理解的不夠到位,如果有時間的話,建議小夥伴們一定要把電子基礎學了,再來搞微控制器。

    學習STM32程式設計,有兩種方式,一種是傳統的程式設計方式:暫存器操作,另一種是:庫函式操作。在這裡我建議大家用庫函式操作,因為STM32的暫存器太多了,操作起來不方便,浪費時間,編寫專案程式還得花大把時間去翻閱資料手冊。

    因為庫函式把這些暫存器都封裝好了,我們只需明白這些庫函式的含義,以後用到的時候直接COPY就可以了,大大節約了我們的時間。

    如果沒有學過暫存器,可以先學習51微控制器,這樣你對微控制器的暫存器有了瞭解之後,再來學習STM32,將使你快速理解STM32微控制器。

  • 10 # EmbededDream

    答主從本科開始接觸C51微控制器開始,算是正式入行了嵌入式MCU開發的道路。參加校級的電子設計大賽,因為贊助的原因,選擇了當時新款的凌陽微控制器做了一款智慧語音聲控門鎖。攻讀碩士期間,雖然主要的橫向專案都是以西門子/歐姆龍PLC+Intouch/組態王+HMI為主,但是依然還是在課餘利用TI的MSP430單片機制作了兩款GPS定位和GSM數傳產品,並進行了產品化的嘗試和探索。畢業加入到華為公司以後,任職嵌入式的軟體驅動開發工程師。接觸了大量的海思自研和各類主流的MCU+SOC晶片,嵌入式Linux能力有了很大的提高。但是沒有接觸當時最流行的STM32

    後來從另一家外企跳出來和別人自主創業,研發基於STM32的影片處理器。那是我第一次開始真正地接觸STM32。所以說STM32完全是靠前期的MCU基礎和程式設計基礎,經過專案的歷練自學成才的。同時,我也根據自己的STM32學習經歷,整理出MCU軟體入門過程的思維導圖。

    答主當時因為已經具備多年的C語言編碼經驗,也熟悉多款MCU的基本原理。使用全套正點原子的教材和開發板,並結合一本STM32的配套教材及晶片手冊(好多頁哇)進行了STM32的學習。所以前期的MCU的理論基礎和KEIL軟體的學習使用,進展得很順利(此處我設定的第一目標是實現最小系統的執行和移植,所以進展很快)。這裡對於基礎知識,提醒新手朋友們一些細節的地方必須弄清楚明白,否則後面使用庫函式的時候很容易弄混亂:

    STM32的時鐘匯流排,哪些外設都掛接在哪些時鐘線上儘量要清楚;STM32的時鐘樹結構/分頻設定。我承認很難理解,但是多看幾遍多畫幾遍基本都沒啥問題。STM32的GPIO管腳重對映,複用概念必須弄清楚。STM32的中斷分組,分級管理機制。STM32的最小系統搭建,配置必須明白。最好能實現開發板的自主移植。

    當學完了基本的STM32最小系統之後,在完成了原子精英板的移植後,我又將stm32的最小系統在我們的產品驗證板進行了移植和執行。從而完全掌握了STM32最小系統和基本STM32程式碼開發流程(其實主要是STM32庫函式的使用)。

    雖然剛開始被STM32的時鐘樹和中斷分級分組搞得有點鬱悶,但是攻克了最小系統後還是讓我有了更大的信心和動力。由於創業嘛,沒有時間給你充分學習,我只好發揮碩士搞科研時候的老辦法:拿來主義,用到那個外設就馬上研究這塊,參考書+晶片手冊一起入手。這樣我基本對同一個外設需要看三遍不同的講解。IIC(連線影片處理晶片控制用),SPI(外接儲存),DMA(影片資料傳輸),定時器(OSD調整和紅外遙控器解碼分析),USB驅動......一個一個模組的啃下來,我發現其實STM32真的是一款價效比很高的MCU。另外:此處沒有提到ucos,因為在華為的時候就掌握所以ucos的STM32移植和開發並沒有耗費太多時間。同時,學完一個部分的基礎知識和程式碼程式設計,我肯定要在精英板和開發板做兩遍實驗才叫合格

    所以,從答主個人的經歷和快速上手的角度來講,STM32在學習完最小系統後,最好用到哪塊學習哪塊,畢竟知識的記憶都是遵守記憶曲線的。總體來說,我個人的STM32的學習,完全是按照我上面的思維導圖。從基礎->實踐,最好以專案或者開發目標為指引,這樣自學起來會更加目標聚焦動力充足

    以上建議,僅供參考。

  • 中秋節和大豐收的關聯?
  • 有哪些韓系搭配舒適又時髦的?