單片機c語言必背代碼:c語言開發單片機的優點

記得我剛出來工作的時候,一直從事stc 51單片機產品的開發,後來接觸到了NXP的單片機。

一下從51過渡到ARM,確實讓我頭疼了一段時間,不過還好,都是配置寄存器去開發,至少開發模式是相同的,就是要看着數據手冊配置比較耗時間罷了。

後面領導要規劃一款新產品,讓我和硬件工程師配合去選一個單片機。

當時我還只是改別人代碼的水平,哪裡懂選型的東西,又不敢讓領導知道,就只能偷偷去請教大佬同事。

他在這家公司做了有3,4年了,對產品也很熟悉,他說可以用stm32的單片機來做。

就是那次開始,我正式接觸到單片機,乍一想,已經是8,9年前了。

不過當時,教程各方面沒現在這麼完善,我就在網上買了個開發板,是沒有配套視頻教程的。

因為我有單片機的基礎,所以我認為只要有每個外設的使用例程就可以了。

萬萬沒想到的是,打開那些外設例程的時候,讓我一臉茫然,這到底是什麼鬼東西?怎麼用GPIO點個燈這麼複雜。

又要加載庫文件,又要定義結構體,又要開啟時鐘。。。。。

開發模式完全跟我以前不一樣,後面研究了才知道stm32可以直接用官網提供的固件庫開發。

也就是直接調用他們的函數,就能把stm32的每個外設都用起來,不用去關心寄存器具體是怎麼配置的。

如果你深入到固件庫的代碼,會發現還有一些彙編和c語言混合寫的代碼。

如果新手沒經驗,很容易走彎路,最近我們無際單片機編程有個學員就是這樣。

他總是喜歡鑽牛角尖,什麼都想搞透,覺得自己如果不把庫函數搞透的話,以後產品開發碰到問題了不知道怎麼解決。

其實這種做法有好處也有壞處。

好處就是鑽牛角尖你能理解地更加深刻。

壞處就是他鑽的時機不對,當你編程水平還不足,產品經驗也不足的情況下,盲目去鑽研別人幾年沉澱出來的精華,明顯是不現實的,如果被你鑽研透了,你就真的是天才了!

現實大多數人都是普通人,都要遵循正確的方法去學習,這樣才能以最快的速度學會。

水平不夠的情況下去硬碰硬,最後只能讓自己遍體鱗傷,越學越迷茫,越學越焦慮,最後放棄。

學習STM32的重點應該是去學習他們的固件庫怎麼使用,先把庫用熟。

即便我做這個行業10年,你讓我不藉助例程,自己去調固件庫,自己通過寄存器去配置外設,我也做不到。

但是即便我做不到,依然不妨礙我用stm32單片機做產品。

所以,你知道作為一個工程師來說,重點在哪裡了吧?

重點根本不在單片機,單片機只是工具,我們第一步就是能把它用起來,而不是去深究它為什麼這麼用就能把外設開起來。

如果你去鑽這種牛角尖,光是stm32這個單片機都夠你學5-10年的了。

實際開發產品程序的時候,前期會花幾天時間把單片機外設開起來。

然後剩下大多數時間都是在寫產品功能邏輯部分的代碼,這個才是核心。

特別是像今年stm32價格突然暴漲10倍,一些公司會用一些別的芯片來替代。

試想一下,如果你把所有精力都放到學習單片機上去,那你的開發周期得多長,早都被老闆幹掉了。

不管學習任何一款單片機,核心都在於你的編程水平和思維。

就好比stm32這款單片機,他們的固件庫大量用了指針、結構體和枚舉。

stm32對c語言要求高嗎?c語言什麼水平可以學stm32?

這個時候即便你沒學過stm32,但是你熟練c語言的指針、結構體、枚舉這些,你大概都能看懂他們固件庫的底層邏輯。

如果你不熟c語言這些知識,或者找不到好的實用的教程,可以去看我的視頻教程,我對這3個知識點有專門的講解。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/216372.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-08 22:18
下一篇 2024-12-08 22:18

相關推薦

發表回復

登錄後才能評論