tft每日頭條

 > 生活

 > 單片機從零開始學什麼

單片機從零開始學什麼

生活 更新时间:2024-09-28 14:14:34

單片機從零開始學什麼? 先把工作中需要的東西學會,一項一項的來,比如先把GPIO弄清楚,怎麼初始化,怎麼輸入輸出,然後定時器、串口、ADC、DAC、DMA、SPI等等先把用得着的一個一個地做, 都弄明白了再往一塊整合,從簡單到複雜,硬件操控起來了也就算對這種單片機入門了吧,軟件方面,不管用什麼單片機,用什麼編譯器,區别不大初學的最好還是買個開發闆,不 需要多高級的,有幾個常用功能做出來,其它就容易了,今天小編就來說說關于單片機從零開始學什麼?下面更多詳細答案一起來看看吧!

單片機從零開始學什麼(什麼是單片機怎麼學)1

單片機從零開始學什麼

一、想快速入門進階,面向工作時

先把工作中需要的東西學會,一項一項的來,比如先把GPIO弄清楚,怎麼初始化,怎麼輸入輸出,然後定時器、串口、ADC、DAC、DMA、SPI等等先把用得着的一個一個地做, 都弄明白了再往一塊整合,從簡單到複雜,硬件操控起來了也就算對這種單片機入門了吧,軟件方面,不管用什麼單片機,用什麼編譯器,區别不大初學的最好還是買個開發闆,不 需要多高級的,有幾個常用功能做出來,其它就容易了。

關于初學者是否需要弄清底層函數問題:

先玩起來再說底層函數,一般就用現成的庫,絕大多數應用都沒問題的,至于庫裡面是什麼,先不管它,到了高級階段再去看。

二、進階步驟

會點燈-入門;

會使用各個常見中斷,能把項目做出來-熟練;

會DMA、PWM各種模式,能把項目熟練完成-精通;

會CAN,USB,RS232,RS485,SPI,I2C,運動控制,電機驅動,各種濾波算法,PID算法-非常精通。

三、經驗分享

自己的體會,對不對不知道哈。我自己學MCU就是大學裡學的51單片機,所有功能會用算是入門檻,後來學習和工作慢慢接觸其他的PIC,Freescale,STM這些,慢慢發現其實 東西都是有相通的,但是一定要動手,不管是用例程還是自己寫,都要帶闆子跑代碼,過程中肯定有問題慢慢解決,才能有提高,而且現在的片子底層驅動庫都有,項目用的時候就 是參考一下手冊會調用,底層驅動功能正常就可以了,很少項目裡面從零開始寫代碼了。

四、經驗分享

建議:初入STM32的學習者不用記,直接用就行了,這個玩意,實踐才能進步;邊學邊用才是正途,關鍵是用,不是學。

五、經驗分享

可以自己試着完成一個功能,比如簡單的流水燈,邏輯肯定自己寫,涉及到stm32的比如怎麼初始化、怎麼配置之内的不會的可以查資料,但是一定要要有自己的思想, 完成了我覺得就算入門了。

六、關于初學者是否要弄懂底層函數

初學者沒必要弄懂底層函數。項目需要用到什麼再去研究什麼。比如你的項目隻要點亮一個LED燈,那你隻研究怎麼配置GPIO就好了,沒必要去研究什麼PWM了。現在 有個神器叫STM32CubeMX,直接生成一些底層初始化代碼,加上HAL庫調用,哪裡不會再查哪裡。底層函數這玩意,你調用多了,自然會去研究怎麼配置達到你要做的效果, 在項目中進擊,沒必要一上來就啃底層,專注你的算法才是真正有意義的事情。

七、經驗和觀點的分享

我也有思考,如何清晰、系統地學習 STM32,建立整個 Cortex-M 知識體系,以及相應的理論支撐,并最終應用到 Cortex-M 内核 MCU。現有的教程也都沒有構建這樣的 知識體系,學習、成長路線,所以很多人(包括我自己在内)都會在某個階段遇到瓶頸。到頭來發現自己依舊停留在知道這個點,也會用,會面向百度編程,但一遇到問題需要調試,需要更多的理論支撐的時候,就無從下手了。 另外,STM32 做項目的話,應該也少不了使用操作系統,所以 RTOS 還是需要學習的。RTOS 面又是比較多的,現在又有物聯網操作系統的概念

(比如 RT-Thread【物聯網相關的軟件包非常多】,華為的 LiteOS【官方動作比較小】,阿裡的 Aliosthings【WIFi 等模組支持的相對較好】)。 所以,有人能把這套内容整合出來一個學習路線和測試驗證知識點,應該會非常好。

八、經驗分享(什麼時候可以接觸項目)(指導的很多方面)

會建立工程點燈就算入門

知道各個外設的基本特性就算基本熟練(定時器 SPI UART IIC SDIO FMC,有需要再看網絡和USB) 知道怎麼讀取、控制外圍設備(采樣、顯示、射頻一類的), 會用現有庫就算精通(RTOS/UI/存儲/網絡)剩下的都是工程經驗,代碼組織、排錯、調試一類的,多做就行。 會用串口,能通過示波器看懂SPI/IIC的波形、能輸出想要的波形,會輸出PWM波,就可以開展項目了,另外是C語言要紮實,有一點總線知識,至少要明白堆棧的含義,知道自己随手定義的變量處在什麼section,熟悉數據的内存組織結構更好(這些最好是多做調試多看MDK的Call Stack local窗口和Watch窗口,看看 數據對應的内存地址和組織方式,對你深入了解語言、CPU有很大好處)。 深入的邏輯、代碼組織方式,需要你自己在實踐中總結,看别人的源碼也是比較不錯的方式求快的話,不建議看視頻,從PDF教程開始,配合官方的手冊對照看。

一個月從0到會走路是沒問題的。

關于學習方式:

視頻的進度和内容不容易篩選,你隻能跳着跳着看,或者1.5倍速完整拉完,跳着看容易遺漏看PDF方便反複查看仔細比對。先看設計大綱,自己理解一遍, 然後針對性地看自己不太理解的的地方,在具體技術細節上配合datasheet,全程都是幹貨。再自己拿闆子跟着走一遍基本就OK了。

九、經驗分享

1.芯片隻是一個底層工具,當然你隻有完全了解你所使用的外設工作邏輯後才可能設計出可靠的底層系統。

2.底層熟悉後,剩下的就是項目的應用問題,算法,協議,應用邏輯等,這個就是行業屬性,行業積累。

3.如果說入門,至少知道配置一個外設的完整流程,不一定每一個都要用一遍,隻要你知道大概流程,用的時候知道看什麼地方就入門了。

十、學習心态方面(關于工作面對項目)

同意你的意見,我覺得搞技術心态很重要,就是蔑視他,不就是什麼什麼嘛,老子能搞定你。 如果遇到問題就是天大的事情,感覺自己不行,搞不定。這樣即使解決問題了,也隻是解決這樣一個問題。

本文摘抄自正點原子論壇,如侵權,請聯系本人删除 原文鍊接文末所示

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved