電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 98|回復(fù): 0
收起左側(cè)

單片機(jī)學(xué)到什么程度可以滿足工作需求?

[復(fù)制鏈接]

660

主題

660

帖子

4567

積分

四級(jí)會(huì)員

Rank: 4

積分
4567
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-9-19 08:15:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

) n, Q4 [8 g" p點(diǎn)擊上方藍(lán)色字體,關(guān)注我們
) \' ~+ n& g1 x- T' m首先,明確方向是至關(guān)重要的。如果你對(duì)嵌入式開(kāi)發(fā)感興趣,建議專攻軟件,而不是硬件。這并不是說(shuō)硬件不重要,而是因?yàn)榇蠖鄶?shù)公司都有專門(mén)的硬件團(tuán)隊(duì)負(fù)責(zé)相關(guān)工作,單片機(jī)的硬件部分并不會(huì)成為學(xué)習(xí)的重點(diǎn)。如果你試圖同時(shí)學(xué)硬件和軟件,往往兩邊都無(wú)法深入掌握。1 p3 }: P! d9 j  }
8 |- d- f) b; W8 i  i! f/ W! J
當(dāng)然,小型公司可能更偏好“全能型”工程師,他們希望一個(gè)人能完成從軟件到硬件的所有工作,以節(jié)約開(kāi)發(fā)成本。但是,這類公司通常規(guī)模較小,往往是創(chuàng)業(yè)公司,只有一到兩個(gè)技術(shù)人員,這些技術(shù)人員既要設(shè)計(jì)和調(diào)試硬件,還要負(fù)責(zé)生產(chǎn)、維修,甚至做結(jié)構(gòu)設(shè)計(jì)和產(chǎn)品組裝。而一旦公司規(guī)模有所擴(kuò)展,軟硬件的分工就會(huì)更加明確。
; V; S- S4 v. k, H6 W' d0 N% ]( J9 S, Q& g. |
因此,如果你決定專攻軟件,硬件知識(shí)的要求就相對(duì)較低了。你只需要掌握如何閱讀簡(jiǎn)單的電路原理圖,懂得一些基礎(chǔ)的電路分析知識(shí)即可,像基爾霍夫定律、戴維南定律、節(jié)點(diǎn)法和網(wǎng)孔法這些基本的電路理論就足夠應(yīng)對(duì)硬件工作中的需求了。
! }8 L4 |( C: Q; J
' j# ~* }# G# p) n; l  Z3 S$ N" q學(xué)習(xí)路徑建議
  • 學(xué)習(xí)基礎(chǔ)C語(yǔ)言和MCU開(kāi)發(fā)板" C& `6 b% w2 w
    如果你有一定的C語(yǔ)言基礎(chǔ),可以直接購(gòu)買(mǎi)一個(gè)STM32ESP32開(kāi)發(fā)板,開(kāi)始動(dòng)手學(xué)習(xí)。
    " `8 B5 J6 z/ a$ ]  @1 K! p& A: S這里不建議你專門(mén)學(xué)習(xí)匯編語(yǔ)言,現(xiàn)代公司99%的場(chǎng)景中都不會(huì)用到它。
    0 B6 B, l5 l# ?: X& Y6 K# I對(duì)于C語(yǔ)言的學(xué)習(xí),也不要過(guò)于刻意,一開(kāi)始遇到問(wèn)題再去學(xué)習(xí)解決,這樣學(xué)習(xí)效率會(huì)更高。
  • 避免Arduino( f4 M( I/ w3 q; Y* A
    不要以Arduino作為你的主學(xué)習(xí)工具。$ _4 F: f- R4 ]* q  R$ @- W
    雖然Arduino作為入門(mén)工具不錯(cuò),但它的靈活性和性能限制較大,正經(jīng)公司在實(shí)際項(xiàng)目中不會(huì)用它。
    " I( L+ I, F$ T) [; MArduino更適合初學(xué)者或?qū)W生學(xué)習(xí)硬件編程的基礎(chǔ)概念,而不是實(shí)際的嵌入式項(xiàng)目開(kāi)發(fā)。
  • 深入掌握MCU外設(shè)和寄存器操作! ]2 x, Q7 [* Q1 S% n
    學(xué)習(xí)開(kāi)發(fā)板中常用的外設(shè)接口,比如GPIO、ADC、DAC、Timer(PWM)UART、SPI/IIC等。
    - ^! [& f' U' d$ r: b它們?cè)诮^大多數(shù)項(xiàng)目中都會(huì)用到,因此你需要了解這些外設(shè)的用途、工作原理,并通過(guò)實(shí)際的代碼調(diào)試加深理解。
    " J$ Y# [* K* `. K$ ]; T此外,中斷的使用也是關(guān)鍵,特別是在ADC、Timer、UART的使用場(chǎng)景中。, G7 `. H+ N! c, N% L, U9 v* N4 C
    不要僅僅依賴廠商提供的庫(kù)函數(shù),深入到寄存器層級(jí),閱讀MCU廠商提供的《軟件設(shè)計(jì)手冊(cè)》和《數(shù)據(jù)手冊(cè)》,理解每個(gè)寄存器的作用和使用場(chǎng)景。
    9 k8 j) E- {8 A" v# j! {你應(yīng)該具備通過(guò)直接操作寄存器來(lái)配置和控制外設(shè)的能力。
  • 學(xué)習(xí)嵌入式操作系統(tǒng)$ a' Y8 M3 y# ^; P; j6 N
    接下來(lái),你需要學(xué)習(xí)一個(gè)嵌入式操作系統(tǒng),比如FreeRTOSRT-Thread。, a: M& i+ j  e$ i" c$ }( E
    在學(xué)習(xí)這些操作系統(tǒng)時(shí),重點(diǎn)掌握如何編寫(xiě)任務(wù)和中斷銜接程序,不用花費(fèi)太多精力在移植操作上,因?yàn)楣卷?xiàng)目中通常會(huì)由專人或廠商負(fù)責(zé)移植工作。
    ) ~4 B( |% T; J1 N; B4 j: m0 \多任務(wù)協(xié)調(diào)是嵌入式開(kāi)發(fā)中的一個(gè)重要技能,熟練掌握多任務(wù)的協(xié)調(diào)工作,而不僅僅是編寫(xiě)?yīng)毩⒌娜蝿?wù)。
  • 包裝你的學(xué)習(xí)成果
    3 ]! b3 [' V& h學(xué)習(xí)的過(guò)程中,你可以將自己的學(xué)習(xí)過(guò)程包裝成一個(gè)完整的項(xiàng)目。
    . |5 Q( a6 N5 _5 y2 f你要設(shè)想產(chǎn)品的功能、目標(biāo)用戶、應(yīng)用場(chǎng)景以及解決的問(wèn)題,并把學(xué)習(xí)內(nèi)容融入到這個(gè)虛擬的項(xiàng)目中。, z; W% \" Y0 `: [. \( @8 f5 [6 N
    不要過(guò)度堆砌外設(shè),避免顯得不真實(shí)。
    " D0 u( m! G0 [3 T[/ol]
    / h+ F' g) S3 U, `5 E2 I& P深度技能加分項(xiàng)+ {" U+ W9 H+ G3 y9 E& h
    經(jīng)過(guò)上述學(xué)習(xí)后,如果你擁有985/211名校背景或碩士學(xué)位,在進(jìn)入職場(chǎng)時(shí)可能已經(jīng)具備一定的競(jìng)爭(zhēng)力。) b% S2 L2 B2 b/ C) [4 {( @5 N

    * _! [. ?# ?/ c) j# v- i) f0 ?如果沒(méi)有名;?qū)W位的加持,那么以下這些技能可以為你加分:
  • Cortex-M內(nèi)核:深入理解MCU內(nèi)核的各個(gè)組成部分及其工作機(jī)制,包括啟動(dòng)流程、指令集、存儲(chǔ)映射、SysTick定時(shí)器、異常和中斷等。
  • IoT操作系統(tǒng):進(jìn)一步學(xué)習(xí)物聯(lián)網(wǎng)操作系統(tǒng)的高級(jí)功能,如設(shè)備驅(qū)動(dòng)模型、文件系統(tǒng)、低功耗管理、以太網(wǎng)及TCP/IP協(xié)議棧等。這些系統(tǒng)類似于Linux的簡(jiǎn)化版,有助于你未來(lái)學(xué)習(xí)更復(fù)雜的操作系統(tǒng)。
  • Modbus與RS-485:學(xué)習(xí)Modbus協(xié)議的應(yīng)用場(chǎng)景、報(bào)文格式、通信時(shí)序及常用命令。這是工業(yè)控制中廣泛使用的協(xié)議。
  • CAN通信:掌握CAN協(xié)議,這是汽車行業(yè)的必備技能,了解報(bào)文格式、通信時(shí)序及常用命令。
  • 藍(lán)牙或USB:學(xué)習(xí)藍(lán)牙或USB的協(xié)議棧結(jié)構(gòu)、通信時(shí)序及常用應(yīng)用層端點(diǎn),這是物聯(lián)網(wǎng)開(kāi)發(fā)中的常用技術(shù)。
  • PID控制算法:理解并調(diào)試PID控制算法,特別是在工業(yè)控制中廣泛應(yīng)用。
  • LCD及UI開(kāi)發(fā):掌握一種UI庫(kù)的常用控件,特別是在有屏幕交互的嵌入式項(xiàng)目中有用。
  • Bootloader開(kāi)發(fā):理解Bootloader的原理、內(nèi)存分配及在線升級(jí)機(jī)制,這是嵌入式系統(tǒng)啟動(dòng)的核心部分。
  • TCP/IP協(xié)議棧:深入學(xué)習(xí)TCP/IP分層模型、鏈路層協(xié)議及Socket編程接口。理解通信協(xié)議中的分層模型有助于構(gòu)建健壯的網(wǎng)絡(luò)系統(tǒng)。
  • C++在嵌入式開(kāi)發(fā)中的應(yīng)用:學(xué)習(xí)C++的面向?qū)ο筇匦裕莆债惓L幚、RTTI(運(yùn)行時(shí)類型識(shí)別)和STL(標(biāo)準(zhǔn)模板庫(kù))等高級(jí)特性。隨著嵌入式系統(tǒng)日益復(fù)雜,C++將在嵌入式領(lǐng)域中發(fā)揮更大的作用。
    0 E- {1 ^$ j" P8 r[/ol]
    + W+ X: L( d5 p4 y  t6 M  K' g后續(xù)方向1 [  M* @) S  r3 D* g# @( ~3 i1 \% m
    當(dāng)你掌握上述技能后,技術(shù)方向可以延伸至以下領(lǐng)域:- w6 X4 |# Y1 E; |
  • 硬件設(shè)計(jì)
  • Linux內(nèi)核與驅(qū)動(dòng)開(kāi)發(fā)
  • QT與C++應(yīng)用開(kāi)發(fā)
  • Android/iOS應(yīng)用開(kāi)發(fā)
  • 架構(gòu)師方向
    9 {/ G( [: W* n7 R' ^) Z# |6 d" b
    0 u( p7 O8 F! }( S8 F& \

    0 P2 W$ }1 h5 R5 u1 y( m
    * J0 k+ `4 n5 n+ R$ i  ]- `點(diǎn)擊閱讀原文,更精彩~
  • 發(fā)表回復(fù)

    本版積分規(guī)則


    聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表