別讓你的微控制器學習停留在流水燈水平

2021-06-18 23:29:02 字數 1508 閱讀 5621

本人還是學生,現在大三,接觸微控制器一年多以來,從最基礎的51開始,到更高階點的msp430,一直到現在剛開始上手的stm32,編過的程式不算多,但加起來怎麼也有上百個了,做過的東西仔細數數,能拿出手來算算的上是個樣的也不下十個,算是小有所成吧。

但今天,我卻發現,這一年我一直在走一條歪路。

先說一下情況吧,是這樣的,最近同學幾個合夥做個小專案,不算複雜,跟市面上的工程專案完全沒法比,用難再需要使用的乙個晶元是老師給的,從沒用過,沒有歷程,至於乙份電子版的資料手冊,一切的一切都只能是從頭開始,從底層開始,我們幾個斌開始從最底層的邏輯時序、暫存器操作開始,但經過幾天的研究,確實毫無效果可言。

為此,我們幾個鬱悶了好長時間,開始瘋狂的上網搜資料,拷**,卻終究是不得而返,還讓老師罵了一頓,因為這個專案是我們主動要求老師放給我們的,結果卻耽誤了工期。

我次我們幾個人很受打擊,最終決定大家一起靜下心來分析分析,到底我們敗在了什麼地方?

最後總經過兩天的思考、討論、總結、檢討···,我們發現了問題的所在,想來想去,這估計是很大一部分初學者正在面臨的乙個「瓶頸問題」,所以,由我淨這個討論的結果發布出來,希望與更多的人交流、分享、提高、共勉。

下面先總結一下我們失敗的幾點原因:

1、「都是開發板惹的禍」,可以說從開始學習微控制器,哪怕是最基礎的51、以致後來的msp430、arm,我沒從未離開過開發板,而且這長達一年多的時間,養成了我們對開發板極大的依賴,儘管自己焊過51最小系統、繪製過430最小系統板,但都是參考的別人已有的電路圖,連最基本的電路基本都沒分析過,為什麼要在這幾個電阻,該加個多大的,不加會怎麼樣,太大了/太小了會有什麼後果,等等此類問題,我們從未分析過,全是copy、copy、再copy,以致自己做過的東西不少,能力卻未曾提高。

2、「全是例程誤導我」,我們買來的開發板,往往都會帶有豐富的例程,通常這也是賣家吹噓、比拼的地方,但就是這些附帶的歷程,讓我們與底層的開發絕緣了,有了例程,我們不用再乙個**乙個**地敲鍵盤,不用再去研究那些器件的資料手冊、通訊介面、暫存器、內部原理、以及很多商家沒給我們加進去的功能,哪怕是將這些程式改到別的地方,我們也不過是在巨集定義裡改兩個引腳配置而已,從未嘗試過從底層寫驅動、敲**、寫函式,從未嘗試過快平台移植**,開發呢些沒用過的功能等等。 

3、「現實環境太無奈」,這跟上面兩個說的是不同的方面,我們都是大學生,大學裡現在吵得火熱的「大學生就業難」、「你是考研還是就業」、「你報***培訓班了嗎」「你考四六級證了嗎」等等,好像上大學就是為了幹這些,似乎沒有這些,你就會陷入「畢業即失業」的困境。面對這些外來的干擾,越來越多的學生坐不住了,我們這些人也一樣,儘管一直在學習自己的愛好,但當被人問得多了的時候,心裡也難免會發毛、會害怕,從而導致一年來真正靜下心來學這些東西的時間越來越少。 

大體也就總結怎麼多吧,經過這次失敗,也算是教訓深刻吧,現在才大三,到大四畢業,還有近兩年的時間,還不算太晚,再說將來的路還長,現在發現這些,應該不算晚吧。

對我們來說,革命尚未成功,同志仍需努力啊!

開這貼,一為總結這次失敗、而為自己立志改變、三為警示後來的同學、四為大家齊言獻計。

大家有遇到同樣問題的、要類似迷茫的、要好的建議意見的,歡迎回帖交流,大家一起共勉。

微控制器學習筆記 點亮流水燈

我們前面學習了如何建立工程,現在就來實現乙個流水燈吧。一 八位發光二極體 led燈原理圖 下圖為led燈的原理圖 led燈陽極 p0 7 0 led燈陰極 共陰極,p2.3非 點亮led燈的條件 通電 p0 0xff p2.3 1 模式 推挽輸出 在實驗板中,點亮led燈除了需要通電,還需要設定i ...

51微控制器學習筆記 流水燈的實現

一 原理 常見led燈模組一共有八位,如果二極體的負極接vcc,正極接51晶元引腳,則給引腳輸入低電平,led燈亮。如果二極體負極接gnd,則高電平有效。include include define led p1 define uchar unsigned char uchar i,j void d...

微控制器小白學習之路 五 編乙個流水燈

目標 編乙個流水燈 先貼上 這裡有乙個c語言的小技巧 程式不執行 if0至 endif之間的程式,相當於注釋掉了,執行 if1至 endif之間的。上圖有兩種方法來弄出流水燈。第一種是 if0裡面的 0xfe是十六進製制數,變成二進位制是1111 1110.0xfe是取反的意思,二進位制是0000 ...