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