愛伊米

教練,我想學微控制器!零門檻STM32入門教程奉上

微控制器,MCU,微處理器,單片微型計算機,“智慧IC”,把電腦濃縮灌入比指甲還小的矽片晶圓,人類科學技術的精華與前沿之一,一切智慧裝置的心臟與靈魂,物聯網IOT廣闊前景的基石,與你的驍龍865與麒麟980共享同一顆心(注:STM32系列微控制器所使用CPU核心為ARM Cotrex M系列,主流手機SoC使用CPU核心為ARM Cotrex A系列,同屬ARM架構Cotrex系列),最低僅需9。9元——啊不,比9。9還要便宜~

有沒有想學的衝動?好吧,其實不用我上面的那一堆忽悠,大概每一個對IT電子方面有所興趣的人都早就聽說過微控制器的大名吧。

老話說千里之行始於足下,翻譯一下如今多麼呼風喚雨的程式設計師寫下的第一行程式碼也一樣是經典的“Hello,World”。如果你看到技術dalao們手中程式碼翻飛黑科技讓人眼花繚亂而心嚮往之,或者看到學長學姐們手捧競賽大獎驚豔四方而心馳神往,亦或是正巧偶然看到了我們的文章被我忽悠的提起了從此發憤圖強走上技術之路成為人生贏家的決心與慾望,無論如何希望我們的這幾篇文章能成為你dalao之路上最初的“Hello,World”,幫你踏破“入門門檻”這道紙老虎。

我們技術實力有限權當做拋磚引玉,但願能助你開啟微控制器大門窺見其中風景萬千,總之廢話了這麼多這就是我們這次的主角啦,STM32微控制器。

教練,我想學微控制器!零門檻STM32入門教程奉上

至於為什麼選擇了STM32嘛,經過討論,我們一致認為,51這種比自己年齡還要大兩三倍的過時玩意就應該被扔到歷史的垃圾堆裡啦,何況講解暫存器配置位操作什麼的實在是枯燥又繁瑣,STM32和配套的HAL庫這種一鍵配置,一句執行才是新時代的潮流啦~而且一句句講暫存器實在是太容易勸退了吧

這次的教程由我們工作室幾人合作完成,盡力做到由淺入深,通俗易懂,零基礎入門,從微控制器學習最容易迷茫的基礎概念,到點亮第一個LED,再到一些個人經驗和進階小技巧。

也在這裡感謝夏老師(Floydfish),子昂學姐(CNPP),宋學長,有限狀態姬各位的努力啦,以及夏老師的敬業催稿。沒有你們的付出就沒有這系列教程的出現。如果大家讀了之後能有所收穫就好啦~

那麼下面就是正菜啦。這次的教程一共分為十篇文章,一篇總覽,八篇逐漸深入的實戰教程,再加上一篇提升程式設計體驗的宋學長友情番外篇啦。

夏老師的STM32總覽,STM32微控制器是什麼,我該學什麼,我要買什麼,看完這篇就明白啦。

泡泡我的拙作啦,簡單講一下微控制器開發的主流方法有哪幾種,STM32的HAL庫是什麼,比起傳統的開發方式有什麼優缺點,STM32相比古董的51微控制器優勢又在哪裡之類的,最後一步步帶你建立你的第一個STM32工程!以及我的一堆聊閒天和碎碎念。。。原諒我碼字真的是有點囉嗦呃呃呃。。。。

我們短短几篇文章當然沒法完全講明白微控制器程式設計的全部內容,那麼這篇文章就是告訴你當你需要實現自己的一個想法的時候,該怎麼查詢官方的資料來尋求幫助,還有STM32工程的結構講解,和各種自己程式設計時可能會用到的小經驗小技巧,都在這裡哦。

這篇可能有點難www,程式設計思想什麼的詞聽起來就有點雲裡霧裡的樣子是不是,第一遍看或許不太容易理解,但是不要灰心,當你實際體驗過微控制器程式設計,並開始嘗試實現自己的想法的時候,再來回想這裡的內容,就會發現這些思路都是很方便和常用的啦。當然子昂學姐充滿技術感的文字也不可不品嚐啦。

這兩篇文章就是“如何實現微控制器程式設計界HelloWorld”了,花式點一個LED燈教學環節。雖然簡單,但是確實是最基礎和實用的重要內容,GPIO操作,按鍵處理,以及一切微控制器的核心機制之一——中斷機制,都在這個小小的LED燈中啦。

這裡強調一下,子昂學姐的手繪真的水平好高。。。好羨慕會畫畫的隱藏大觸www

這篇是我的。。。那麼我們繼續helloworld——別急著打我啊,這次是真的了,用微控制器給電腦發一句問好吧~最後附上超簡陋山寨版藍芽智慧家電哦。

ADC,不是英雄聯盟也不是王者榮耀,是把萬惡的數位電路和更萬惡的類比電路聯絡在一起的那個ADC,模擬數字轉換器——但也是它把各種感測器得到的資訊翻譯成機器與程式碼能理解的形式,讓手機能聽到你說的話,讓檯燈能知道天已經黑了,讓空調明白天氣悶熱應該降溫~總之,看完這篇,關注體溫健康的你也能做出一個自己的簡陋體溫計啦(雖然是模擬版的。。。雖然其實用數字整合感測器其實會更簡單一些23333不要在意不要在意)

宋學長曰,我們要做一個高尚的人,一個純粹的人,一個脫離了低階程式設計趣味的人,如果想嘗試下不一樣的微控制器程式設計開發體驗,換一個炫酷好看的軟體介面,那麼就來看看這篇番外吧。

這十篇系列教程到這裡就結束了,內容不太全面實在是我們能力有限,日後有機會還會繼續更新後續的進階內容和自己程式設計開發過程中的心得經驗。耐心看到這裡的希望你能夠喜歡,如果看完之後能讓你提起興趣,找來一片微控制器,點亮第一顆閃爍的燈,就是對我們最好的支援和鼓勵啦~謝謝大家