這已經是11年前的事了,我就學了STC89C52這個單片機,然後做了2個項目。 一個是 電子時鍾,一個是智能小車,從學習到找到工作花了大概4個月左右。 現在這麼卷,如果你隻會51單片機的話,估計比較難了,除非你用51單片機做過3-4個項目,或者做過一些soc開發。 51單片機其實也有很多複雜的,比如說TI的CC2540藍牙芯片,也是51內核。
但是Flash和RAM甚至比STM32還大,軟件也搭載了osal協議棧,難度一點也不比那些STM32的簡單。
這個協議棧,我研究了1個多月才基本搞懂,並把osal係統剪裁後移植到STM32單片機上。
其實說白了,就是一種程序架構,隻是比較成熟穩定,給產品提供了很多輔助性的功能,比如說定時器、事件、隊列、鏈表等等。 如果說你隻會51內核的單片機,能把這協議棧吃透的話,找個工作也是絕對沒問題的,而且工資會比一般的高。 2.單片機從事什麼工作? 嵌入式這個行業其實也細分很多不同方向,單片機開發就是其中一種。 在學習之前,我們一定要先定位好職位,再規劃係統學習路線,否則你的學習效率短則慢幾個月,長則慢幾年。 如果你是想從事單片機軟件開發的職位,可以參考我們無際單片機編程給學員的職業定位。 1).單片機工程師 2).MCU工程師 3).STM32工程師 4).嵌入式工程師 5).電子工程師 直接在招聘平台找這幾個職位就非常精準了。 如果你沒做這類工作,你根本不知道這個職位是做什麼工作的。 這就導致很多新手,即深入學習硬件,又深入學習單片機和c語言。 學了很長一段時間,發現還是什麼都做不出來,最後感歎學單片機太難了。 在實際產品開發時,一般一個產品電子部分由2個工程師共同完成,分別是硬件工程師和單片機軟件工程師。 硬件工程師主要負責方案選型,原理圖設計、pcb設計、樣品焊接、BOM清單整理。 單片機軟件工程師在硬件基礎上開發產品功能程序。 所以,雖然單片機軟件開發要學硬件,但不需要學這麼深,前期隻需要看懂就可以了。 看懂和設計,看似差不多,實際截然不同。 |