現在回想起自己剛開始學習單片機的經歷,讓我印象最深,也感覺最難學的就是電路了。
當時看了模擬電路的視頻,看到三極管放大電路就開始云里霧里了。
后面以為是自己基礎太差,又買了一本比筆記本還厚的電子元器件手冊的書。
然后死磕了一段時間,懂了一些概念,又回去聽視頻教程,發現一點幫助都沒有,還是聽得一頭霧水。
那段時間我就非常焦慮,感覺學單片機開發太難了。
但是又沒有辦法,畢業了需要找工作。
后面我干脆就不看模電了,直接學單片機,就跟著視頻教程一邊看一邊敲代碼。
然后教程也有對電路這塊的講解,主要是開發板上的原理圖。
我發現原來自己能聽懂,比如控制一個燈或者繼電器啥的,其實就控制引腳輸出高低電平就行了。
三級管也是只需要理解開關原理,根本不像模電教程講的那樣去計算一堆公式。
這個是我第一個轉折點,可能也是很多新手碰到的問題,這一步跨不過去就很有可能放棄了。
第二個難點和轉折點就是我學完了51單片機以后,發現要做一個項目,比如說電子時鐘啥的也是一頭霧水。
雖然單片機定時器那些外設都能用起來,但是不知道怎么去整合代碼,不知道功能實現的思路。
那段時間,我又開始懷疑,是不是我的基礎太差或者學習方向不對導致的。
又從頭把單片機的基礎知識過了一遍,做了一些c語言的習題,做完以后還是效果甚微。
做了很多年以后,才明白這是必經的過程,不管你是學單片機,還是說學別的編程語言。
它們都只是工具,怎么用這個工具去做出東西什么樣的51單片機學習開發板好用,主要由你的思維和經驗決定。
所以,這一步的關鍵就是死磕。
比如說你電子時鐘這個項目不會做,那你第一步就需要去找資源,也就是例程代碼,看看別人是怎么做的。
自己再按照別人的方法敲一下代碼去實現,必須自己親手敲代碼。
這個過程非常重要也容易被新手忽略,總以為看懂就掌握了,看懂和自己能寫出來這是完全兩碼事。
自己在敲代碼的過程就是提升你編程思維和水平最佳時期,在敲的過程中你會發現很多問題,也是你積累經驗的時候。
千萬不要因為自己做不出來,就以為是自己基礎差,前面沒學好,不是必然的關系。
如果這個時候你又回去重新學c語言,單片機,學完以后你會發現還是一樣的,還是做不出來。
我們無際單片機編程有些學員就是這樣,差點誤以為自己基礎差走了彎路。
像這種問題,一般只要不是你語法不會,單片機外設不會用。
我都建議繼續看我們教程和代碼死磕什么樣的51單片機學習開發板好用,還是磕不懂就一對一針對性講解。
很多人學得慢就是把時間浪費在這里,我的建議是哪里不懂就針對性學哪里。
通過2-3個項目的錘煉,把各種外設的產品應用,比如說信號怎么接收,如何處理都搞懂以后。
后面自己做項目,無非也是這些接口的數據,像IIC、SPI、串口、ADC、PWM、單口通訊等等。
那處理方法也都是大同小異,有了第一次以后,第二次碰到類似的你就知道怎么處理了,這就是經驗。
我包括我碰到的大多數工程師,都是這樣成長過來的。
沒有說剛學會單片機和c語言,馬上就能獨立完成項目代碼的,有絕對是吹牛逼。
學沒學成,大多數區別就是碰到瓶頸的時候,有沒有想辦法堅持學下去。
而不是所謂的智商、學歷、英語、數學。