電子產業(yè)一站式賦能平臺

PCB聯盟網

搜索
查看: 258|回復: 0
收起左側

單片機學到什么程度才可以去工作?

[復制鏈接]

258

主題

258

帖子

1186

積分

三級會員

Rank: 3Rank: 3

積分
1186
跳轉到指定樓層
樓主
發(fā)表于 2024-9-24 08:00:00 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
你點擊藍字關注,回復“入門資料”獲取單片機入門到高級開掛教程
開發(fā)板帶你入門,我們帶你飛

文 | 無際(微信:2777492857)
全文約1810字,閱讀大約需要 5 分鐘

幾乎所有初學者,都會有這個疑問,包括10年前的我。
我剛開始自學單片機轉行的時候,也是一頭霧水,也是一邊苦苦掙扎,一邊迷茫的狀態(tài)。硬件、軟件、編程...樣樣都需要學,連從哪兒開始都不知道,每次看到那些密密麻麻的電路圖和代碼,總有一個聲音在腦子里:”這得學到猴年馬月?學到什么程度才能去找工作?學完找不到工作咋整?”  自學的這些東西,到了公司,真能用得上嗎?種種問題,感覺自己就像是被扔進了迷宮,轉來轉去都找不到出口。我多希望能有人指點一下,告訴我該怎么學,學到什么程度才算夠,哪怕只是一點點方向,也好過這樣摸著石頭過河啊。有時候真的想放棄,但又走投無路,只能硬著頭皮上,還好最后轉成功了,一轉眼也干了10幾年技術了。今天我就以過來人的身份,希望這篇文章,給給你一些方向,能助你走出”迷宮”。其實,要達到找工作的程度,沒你想象的難,我們無際單片機有些老鐵,在All in的情況下,花了大概4個月,就找到了工作。   

如果是剛入行的情況下,當你能夠完成以下流程時,你就已經具備了基本的就業(yè)能力:1. 理解電路圖2. 編寫相應的代碼3. 調試程序能力下面,我來具體說下這幾個方面應該掌握到什么程度。
1. 理解電路圖首先,看到復雜的電路不用怕,只要你把這些拆分成一個個模塊,逐個理解,也沒這么難,而且我們做軟件,不需要懂為什么要這樣設計。你只要能看懂基本的元件符號,明白它們是怎么連接的就行。比如,看到電阻、電容、二極管這些常見元件,你能認出來,知道它們大概是干嘛用的。最重要的是,你得能找出單片機的各個引腳在哪,知道它們連接了什么,是什么信號或者協議,這樣才知道程序要怎么寫。          2. 編寫相應的代碼理解電路圖以后,要根據這個電路圖,寫程序實現相應的功能。    如果獨立寫,對你來說,估計很吃力,這個過程比較考驗你的綜合能力,比如對單片機外設的熟練度,實現功能的思路,實現思路的代碼能力,最后是整合代碼,怎么避免一些功能沖突的BUG。所以,在工作前,一定要盡可能多做項目,把這些能力鍛煉出來。單片機最常用的外設和協議,無非就是GPIO、定時器、串口、中斷、ADC、PWM、IIC、SPI?梢哉f,學完這些,基本能覆蓋80%的項目,但通過開發(fā)板學完這些,還遠遠不夠,還得深度應用。拿我們無際單片機項目1這個無線門磁探測器來舉例,這個項目是最簡單的了。我們拿里面其中一個功能舉例,比如發(fā)送EV1527的協議數據,數據波形如下。

實現思路是通過IO+定時器的組合,通過定時控制IO口高低電平的變換,再通過射頻電路發(fā)送出去。所以,單片機開發(fā)的難度,就在這里,外設很簡單,但是要應用到實際產品,還涉及到行業(yè)特定知識,編程思維和代碼水平。    再舉個例子,串口這個外設。我們無際單片機的項目6其中一個串口接了4g模塊。這個組合起來,復雜程度可以更高,比如通過4G模塊實現打電話,發(fā)短信,連接我們云平臺,實現OTA升級。


能把這些功能做出來,過程就能積累到非常多經驗了,以后碰到串口接wifi模塊、藍牙模塊、NBIot模塊的項目,基本都能舉一反三了。只要你完整參與過一個項目,積累了一定經驗,后續(xù)的學習別的就會容易得多。原理都是相通的,無非是應用場景和外設不同罷了。為什么初學者入行難?就是缺少這種實際應用,不具備來了就能上手的能力,企業(yè)培養(yǎng)成本和風險太高了。剛開始,不一定非要具備獨立寫復雜的程序,但最低的標準,也是給你程序,你要能修改功能啥的,我第一份工作就是從修改別人代碼開始。          3. 調試程序能力這個階段,你得能夠使用開發(fā)環(huán)境(比如Keil MDK)來編譯你的代碼。當然,編譯錯誤是難免的,關鍵是你要能看懂錯誤提示,并且有能力去修復它們。    調試的話,最基本的是會用斷點,能一步步運行程序看變量的值變化,這個對于調試設計指針的高階代碼非常有用和高效。            
end


下面是更多無際原創(chuàng)的個人成長經歷、行業(yè)經驗、技術干貨。
1.電子工程師是怎樣的成長之路?10年5000字總結
2.如何快速看懂別人的代碼和思維
3.單片機開發(fā)項目全局變量太多怎么管理?
4.C語言開發(fā)單片機為什么大多數都采用全局變量的形式?
5.單片機怎么實現模塊化編程?實用程度讓人發(fā)指!
6.c語言回調函數的使用及實際作用詳解

7.手把手教你c語言隊列實現代碼,通俗易懂超詳細!

8.c語言指針用法詳解,通俗易懂超詳細!
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關閉

站長推薦上一條 /1 下一條


聯系客服 關注微信 下載APP 返回頂部 返回列表