stm32零基础怎么两周入门,应该怎么安排?
一個新手來給你點有用的東西,因工作需要入了電氣控制,簡單的說步進,電磁閥,伺服,變頻,通訊,都大大小小項目干了,只不過用的是plc,為什么學stm32?是因為項目遇到了難題,簡單說就是微秒級別的檢測,它并不是plc高速輸入輸出就能解決的,也不是中斷能解決的,但是stm32能解決,就那么簡單。
學stm32這類的人有幾種,一種是電氣類的,一種是工程類的,還有軟件,電子類的,為什么很多人入門了,但是一直處于入門階段,自己干不出東西來?甚至開始懷疑,這東西學了到底有什么用?很多人就去搞嵌入式了,搞服務器了,覺得這東西沒用。
個人建議的學習路徑,很簡單,先找一個實際的需求,注意是真實的需求,然后干它,干成了,你也就入門了。對于我們干項目的來說,需求太明顯也太多了,舉個例子,自來水增壓泵,就會用到一個模擬量輸入,一個開關量輸出。壓力檢測傳感器,會給你一個模擬量,代表壓力大小,壓力小于多少,輸出信號啟動電機增壓,壓力大于多少,停止電機,一共兩個gpio口,兩條判斷程序,簡單吧?這東西很實用,商業產品自動控制比手動控制大概貴兩三百塊錢,實用吧?
再比如,你可以給你們家的門做一個密碼鎖,你就會用到輸入鍵盤,起碼9個數字得有吧,當然,開鎖還是一個輸出開關量,控制電磁鎖。再比如,魚缸換水充氣,掃地機器人,電器控制,晾衣桿控制,這些是家用的,如果到工業領域,那控制多了去了。
什么,我還是沒說怎么入門stm32,應該先學什么,再學什么。錯!很多人為什么入門,并且一直處于入門狀態,他們不知道stm32這東西學了干什么,不知道它的價值在那,僅僅是幾塊錢的那塊芯片價格嗎?
stm32,是微型控制器,和plc一樣,是控制器,控制器能干什么?當然是控制一個真實的東西,項目和系統了。很多人覺得,點燈很簡單啊,實際沒啥鳥用,確實簡單,但是,點燈本身,就可以運用很復雜的實際運用了!您只要會點一個燈,您就可以擴展兩個,三個,最簡單的紅綠燈,東西南北,也就六個燈(實際東西兩組是同時變化的),那么,第一課點燈之后,您就可以做紅綠燈了,沒錯,是真實的紅綠燈!
第二節,很多教程會講按鍵,也就是輸入,很多程序員和電子專業的沒去過工廠,很多設備,特別老一點的,按鈕能有幾十上百個,沒個按鈕都有它的功能,這有什么用?最經典的,電機正反轉和啟停,當然這個有很多種解決方法,如果是變頻器,正轉點一個燈,反轉點一個燈,一個電機,沒啥鳥用,需求來了,假如我要同時啟停二十個電機,并且同時控制他們正反轉,實際有這樣的需求嗎?有!還很多,比如物流線上的,煤炭礦產輸送帶,長度能有幾公里!
這里僅僅舉了兩個例子,就有那么多需求,它沒用?是你不會用,它很復雜?并不復雜,比如紅綠燈,實際上您簡到的,還有倒計時功能,語音提示功能,手動切換功能,物聯網功能,您要完成一個可以賣錢的項目,單輸出點燈遠遠不夠的,真實項目干了,你就已經不只是入門且一直入門階段了。
比如多電機啟停正反轉,實際您可能還要再控制幾個電磁閥,控制電機轉速,同步加減速,搞完了,這也是一個很大的項目了,會用到通訊,會用到模擬量輸出,會用到復雜的加減速曲線,這就是為什么知乎這種學院派平臺,很少有人能給你有實際價值的建議,回答你問題的人,也就比你多學了幾章類似點燈的教程而已,他們并不知道單片機如何才能點紅綠燈,而不是板載led,也不知道電機要如何啟動,為什么要加減速曲線。
可以這樣說,stm32看似復雜,其實實際運用,還遠遠不夠,比如紅綠燈,實際紅綠燈功率可能很大,gpio是不能直接連接的,電壓,電流都點不亮,比如通訊,485確實能和絕大多數工控的東西鏈接和控制,但是就stm32這種抗干擾能力,可能在一個比較理想的環境下還行,到現場接上線通訊就斷了,比如電氣控制,絕大多數控制元器件都是24V電壓,stm32最多5V,您會發現它貌似什么都干不了。
但是,實際上,plc核心,其實也是一個arm控制器,它的輸入輸出,都是光電耦合的,它的485通訊,都是做了很嚴格的抗干擾的,這些您都要學,都要懂,當然,讓學電子,軟件的同學學這些,實在是為難了。
控制器的本質是什么,本質是編寫業務邏輯,控制其他的東西,atm32本質是什么,是一個微型控制器,用最少的錢,最少的代碼,去控制能控制得東西。它能控制什么,據我不完全統計,它能接收各種傳感器的信號,控制電磁閥,電機,執行元件,能通信控制儀器儀表,能控制步進,伺服,能控制燈,加熱,能控制四軸,玩具,航空模型等等。
總結,要入門,干實際需求的項目(可以虛擬),一個下來,stm32的大部分東西你都會學會。多干幾個,你也就學的差不多了。
另外,stm32cube ide能幫你省去很多麻煩事,別說直接上它沒用,內部時鐘,引腳,直接是圖形的,看圖都理解不了的東西,別指望敲代碼能理解,何況很多教程,很多老師本身也是一知半解的。
最后,說到編程,推薦用hel庫,推薦直接stm32cube ide編程,jlink下載器下載,編程有個思想,就是堅決不復制粘貼除業務邏輯外的所有東西,只要你的操作有這個步驟,說明你的操作有問題,為什么有類,有面向對象,有庫和封裝,就是為了解決復制粘貼的!stm32cube就是讓你不再學各種教程自己配置項目,自己啟用各種時鐘,配置每個端口,只專注您的業務邏輯。可以這樣說,使用stm32cube ,完成原子等入門教程,假如環境和調試正常的話,從點燈到最后,照著敲代碼,一天就跑完了。
總之,一個有實際價值的項目,勝過您把stm32方方面面都學透徹,官方讓你不要去在乎它哪些寄存器,內部細節,你就專注業務邏輯和外設就行,畢竟這個社會,并不因為你懂得多而多給你工資,而是您要用懂的東西做出事來!多知道個寄存器,還不是cube點點鼠標就自動生成的代碼,還不如學學電磁閥是什么,有幾種,怎么接線。
總結
以上是生活随笔為你收集整理的stm32零基础怎么两周入门,应该怎么安排?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 非平衡电桥电阻计算_非平衡电阻电桥等效电
- 下一篇: 树莓派4B 声音传感器DO模块