單片機學完開發板,如何繼續提升自己的技能?

很多人學完開發板后都會卡在一個尷尬的階段:覺得自己會的東西不少,但又不知道下一步該干啥。會點C語言,能燒錄程序,能點亮LED,玩轉按鍵,搞定串口等等,能用開發板做點小玩意兒,但面對實際項目時,發現自己啥也不會,腦子一片空白。

或者學了點新東西,比如I2C、SPI,卻不知道咋用在實際項目里。

現在的你,就像剛拿到駕駛證的新手司機,會開車了,但離在各種路況下都能游刃有余的老司機還有一段距離。

這種迷茫很正常,畢竟單片機技術不是一朝一夕能吃透的。

下一步的提升方向,其實很明確了。

你只需要問自己一個問題:我這么辛苦學這些東西來干什么?

我相信絕大多數的答案,都是想快速找到嵌入式開發的工作。

那你就要搞懂企業的需求,按照他們的需求去針對性學習,就是離工作最近的事了。

你隨便打開招聘網站搜“單片機工程師”,JD(職位描述)里動不動就是“熟練掌握C”、“熟悉RTOS”、“精通數模電”、“獨立完成過項目開發”、"3年以上開發經驗"等等。

再低頭看看自己:會51單片機,會用STM32開發板上的模塊寫個串口打印,要么就是溫控系統、智能小車這些爛大街的畢設。

醒醒吧,這些在HR眼里,可能連基礎扎實的邊都摸不到,開發板是個教學工具,標準化、模塊化的設計雖然方便你上手,但離真實工程項目差得遠。

真正的單片機工程師,不僅要會玩開發板,還得搞定復雜的軟件邏輯,應對硬件突然罷工、功耗超標、程序跑飛、客戶三天兩頭改需求等惡心問題、甚至得跟老板解釋“為啥這個功能三天了還沒調好”。

這些亂七八糟的麻煩,開發板上是模擬不出來的。

在提升技能之前,咱先搞清楚目標:企業到底想要啥樣的人?畢竟,你的目標是通過單片機開發找到工作,那就得對準招聘需求來發力。隨便翻翻招聘網站,像“嵌入式工程師”“單片機開發工程師”這樣的崗位,JD里列的那一堆要求看著就讓人頭暈。

別慌,下面根據我的經驗,幫你把這些“天書”翻譯成大白話:

1.編程能力得扎實 主要還是C語言,剛開始,你不一定得要寫出高效、穩定的代碼,但最起碼給你一個項目,你能去維護里面的代碼,改改需求啥的,我第一份工作就是干這種事。

2.懂點嵌入式系統,比如RTOS RTOS(實時操作系統)聽起來高大上,其實就是個“任務調度大師”,能讓多個功能(比如采集數據、發送信號)同時跑還不打架。

企業愛問這個,因為現在很多單片機上面都跑了rtos,比如esp32s3,還有一些藍牙協議棧芯片,建議學freertos,用得挺多的。

不過這個并不是剛需,很多產品,并沒有上rtos的,只能說算個加分項吧。

3.硬件得會玩 單片機開發不是純軟件活兒,硬件調試是基本功。焊接個電路、用萬用表測個電壓、抓個波形看看通信有沒有問題,這些基本的也要會。

很多人剛開始沒條件買萬用表,示波器啥的,也沒關系,這些儀器用起來也很簡單的,去到公司找個硬件教一下,半個小時基本就上手了。

4.通信協議得熟悉 I2C、SPI、UART這3個是剛需中的剛需,必須熟練掌握,不夸張的說,幾乎90%的項目都會用到這些協議。

一般是用于像傳感器、顯示屏、無線模組等等。

5.工作經驗

現在大多數都是要求幾年以上的開發經驗,其實這個可能是剛需,也可能不是,為啥這樣說呢?

如果你真按照他們要求去篩選,然后去投,哪怕干了5年,10年,都有很多不適合的。

其實剛開始壓根不用管對方工作經驗的要求,直接投。

萬一對方需要一些人才儲備,和你聊完,又發現你有培養的潛力,機會不就來了。

別想著什么大機會,一投一個準了,都是從這些夾縫,各種嘗試中找機會的。

6.項目經驗 這個基本是2025年的超剛需了,目前大多數人其實是卡在這里。

企業意向中的第一梯隊,是看你做過的產品,和他們公司類不類似,技術棧越接近,成功率越高。

看到這,你可能心里一咯噔:我去,這要求也太高了吧!我才剛學會用開發板,咋整?

別急,繼續往下看,跟著老哥,猥瑣發育。

開發板雖然好用,但它有個致命的局限:太完美了。板子上的模塊都給你焊好了,庫函數都寫好了,接上USB就能跑代碼,簡直是“傻瓜式開發”。但真實項目可沒這么省心。

客戶可能會扔給你個奇葩需求,比如“做一個低功耗的貓糧喂食器,還要聯網”,硬件得自己設計,軟件得自己優化,連電源線插哪都得自己琢磨。

所以,我們學完開發板后,知識先別從”大腦里出來“,嘗試把不同開發板的知識“拆開用”

開發板上的那些小模塊,其實是真實項目的基礎。

比如,你用過板子上的溫濕度傳感器對吧?別光會調庫函數,試著研究一下它的數據手冊,搞清楚它是怎么通過I2C協議把數據傳給單片機的。

然后,買個單獨的傳感器,自己搭個電路試試,看能不能脫離開發板獨立跑起來。這一步的關鍵是,從“用現成的”過渡到“自己搭起來”。

這相當于你積累了一個知識數據庫,下次項目碰到類似的,就可以直接拿來參考了,一臉懵逼是因為沒有參考。

接下來講講怎么積累項目經驗?

其實也就這么幾個渠道:

1.開源社區

比如GitHub、Gitee之類的,我這里也收集了一些,可以給大家拿去練手。

2.學校電賽

全國大學生電子設計競賽、藍橋杯這些比賽,都可以參與一下。

比賽通常會給一個題目,比如“設計一個自動跟隨行李箱”,限時幾天讓你交作品。壓力雖然大,但能逼著你把硬件、軟件、調試全搞一遍,經驗值蹭蹭漲。沒得獎也沒關系,作品往簡歷上一放,面試官問起來,你能頭頭是道地講“當時怎么調的代碼,怎么焊的板子”,這就是硬核實力。

3.找實習

如果有機會,可以找個單片機相關的實習,哪怕工資低點也沒事。

企業里的項目跟自己瞎玩完全不一樣,你會接觸到真實的開發流程、團隊協作。

4.找付費資源

付費可以快速占有優質資源,例如稀缺的商品、專業的建議、雇傭到最好的人才等等,從而更好的掙錢。

免費的結果則是,劣質的資源,或過多的人瓜分有限的資源。

比如無際單片機的項目,對標某寶的4G/WiFi/Lora防盜報警系統產品。

除了以上硬技能,個人覺得軟技能對于找工作來說,能占到20-30%,比如:

1.溝通能力

單片機工程師需要清楚地解釋技術概念給非技術人員,比如向客戶說明產品功能。這包括書面和口頭溝通,比如寫文檔或開會討論。

2.解決問題能力

他們經常需要調試代碼或優化硬件設計,因此需要系統地分析問題并找到解決方案。

3.團隊意識

項目通常需要與多個工程師合作聯調,比如硬件、結構、APP,任何一個環節出現問題,項目都有可能爛尾。

4.情商

理解自己和他人的情緒,能讀懂對方情緒背后的需求,這點真的很重要,很多新人一上來就各種索取同事幫忙,其實站在他的角度想想,他為什么要幫你?他能從中獲得什么?

很現實,但也是現實。


最近很多粉絲問我單片機怎么學,我根據自己從業十年經驗,累積耗時一個月,精心整理一份「單

片機最佳學習路徑+單片機入門到高級教程+工具包」全部無償分享給鐵粉!!!

除此以外,再含淚分享我壓箱底的22個熱門開源項目,包含源碼+原理圖+PCB+說明文檔,讓你迅速進階成高手

教程資料包和詳細的學習路徑可以看我下面這篇文章的開頭

《單片機入門到高級開掛學習路徑(附教程+工具)》

《單片機入門到高級開掛學習路徑(附教程+工具)》

《單片機入門到高級開掛學習路徑(附教程+工具)》

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72830.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72830.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72830.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

olmOCR大模型:支持結構化精準提取復雜PDF文件內容

基于streamlit與olmOCR大模型實現的pdf提取工具 import os import json import subprocess import pandas as pd from pathlib import Path import shutil import time import re import streamlit as st# 創建工作目錄 WORKSPACE_DIR "olmocr_workspace" os.maked…

五模型對比!Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多變量時間序列預測

目錄 預測效果基本介紹程序設計參考資料 預測效果 基本介紹 光伏功率預測!五模型對比!Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多變量時間序列預測(Matlab2023b 多輸入單輸出) 1.程序已經調試好,替換數據集后,僅運…

druid開啟防火墻之后的bug

bug以及解決方案 不允許執行多個語句不允許有注釋部分數據有誤識別,拋出異常,導致原本正常執行的語句被中斷 解決方案 application.yaml中對于druid配置如下: wall:enabled: true # 開啟防火墻config:multi-statement-allow: true # 允許多個…

SQLMesh 系列教程:Airbnb數據分析項目實戰

在本文中,我們將探討如何利用dbt項目的代碼庫來實現一個簡單的SQLMesh項目。本文的基礎是基于Udemy講師為dbt課程創建的示例項目,可以在這個GitHub repo中獲得。這個dbt項目是相對完整的示例,我們將使用它作為模板來演示SQLMesh(下…

單片機寫的小液晶屏驅動+漢字滾屏

單片機寫的小液晶屏驅動漢字滾屏 stm32f401freertos內置HZK16 單片機漢字滾屏

【Golang那些事】go1.22和1.23 更新重點及測評

好久沒有寫文章了,攢了一年的Golang版本特性的技術點以及踩過的坑,那就在新年第一篇的文章中做一個總結吧: 一、關于迭代器 (一)迭代器去掉了共享共享內存 一個經典的面試題 說到Golang經典的面試題,大家可能都刷到過很多&…

python力扣438.找到字符串中所有字母異位詞

給定兩個字符串 s 和 p,找到 s 中所有 p 的 異位詞的子串,返回這些子串的起始索引。不考慮答案輸出的順序。 示例 1: 輸入: s “cbaebabacd”, p “abc” 輸出: [0,6] 解釋: 起始索引等于 0 的子串是 “cba”, 它是"abc" 的異位詞。 起始索引…

【大模型實戰篇】使用GPTQ量化QwQ-32B微調后的推理模型

1. 量化背景 之所以做量化,就是希望在現有的硬件條件下,提升性能。量化能將模型權重從高精度(如FP32)轉換為低精度(如INT8/FP16),內存占用可減少50%~75%。低精度運算(如INT8&#xf…

【MySQL】架構

MySQL架構 和其它數據庫相比,MySQL有點與眾不同,它的架構可以在多種不同場景中應用并發揮良好作用。主要體現在存儲引擎的架構上,插件式的存儲引擎架構將查詢處理和其它的系統任務以及數據的存儲提取相分離。這種架構可以根據業務的需求和實…

JavaScript 金額運算精度丟失問題及解決方案

JavaScript 金額運算精度丟失問題及解決方案 1. 前言2. 為什么 JavaScript 計算金額會精度丟失?2.1 JavaScript 使用 IEEE 754 雙精度浮點數2.2 浮點運算錯誤示例**錯誤示例 1:0.1 0.2 ≠ 0.3****錯誤示例 2:浮點乘法精度問題** 3. 解決方案…

Docker安裝,并pullMySQL和redis

卸載原Docker 您的 Linux 發行版可能提供非官方的 Docker 軟件包,這可能與 Docker 提供的官方軟件包沖突。在安裝 Docker Engine 正式版之前,您必須先卸載這些軟件包。 sudo dnf remove docker \ docker-client \ docker-client-latest \ docker-common…

國內首臺太空采礦機器人亮相,宇宙資源開發邁入新階段

隨著地球資源的日益枯竭,人類將目光投向了浩瀚的宇宙。太空采礦作為一項前沿科技,正逐步從科幻走向現實。近日,中國礦業大學成功研制出國內首臺太空采礦機器人,標志著我國在太空資源開發領域邁出了重要一步。 太空采礦并非新鮮概念…

簡介PyCDE:Python CIRCT Design Entry

簡介PyCDE:Python CIRCT Design Entry 引言 在硬件設計和驗證領域,隨著設計復雜性的增加,傳統的方法往往難以滿足現代設計的需求。PyCDE(Python CIRCT Design Entry)作為CIRCT項目的一部分,旨在為硬件設計…

市場熱點復盤20240319

以下是對當前市場熱點板塊的分析總結,按邏輯分類如下: 一、機器人產業鏈核心標的 1. 減速器與核心部件 襄陽軸承:直接受益人形機器人減速器軸承需求,技術國內領先。金帝股份:聚焦機器人手指關節諧波減速機保持架&am…

目標檢測——清洗數據

清洗VOC格式數據集代碼示例 import os import xml.etree.ElementTree as ETdef process_annotations(image_folder, annotation_folder):# 遍歷標簽文件夾中的所有XML文件for xml_file in os.listdir(annotation_folder):if not xml_file.endswith(.xml):continuexml_path os…

Kubeasz工具快速部署K8Sv1.27版本集群(二進制方式)

文章目錄 一、基本信息二、服務器初始化操作三、使用Kubeasz部署K8S集群四、驗證集群 一、基本信息 1、部署需要滿足前提條件: 注意1:確保各節點時區設置一致、時間同步;注意2:確保在干凈的系統上開始安裝;注意3&…

RG-S3760應用協議配置

RG-S3760應用協議配置 1. dhcp 服務配置 提問:如何在設備上開啟dhcp 服務,讓不同VLAN 下的電腦獲得相應的IP 地址? 回答: 步驟一:配置VLAN 網關IP 地址,及將相關端口劃入相應的VLAN 中 S3760#con t S…

Java 文件和IO流基礎(生動形象版)

系列文章目錄 Java文件和IO流基礎部分 文件VSIO流 文章目錄 系列文章目錄前言一、文件的定義和理解: 1.專業定義: 2.文件系統和路徑: 二、IO流的定義和分類 1.定義:2.流的分類:修飾器模式的核心作用:基礎結…

Linux驅動學習筆記(四)

高級字符設備進階 1.一個完整的IO過程包含以下幾個步驟:1應用程序向操作系統發起IO調用請求(系統調用);2操作系統準備數據,把IO設備的數據加載到內核緩沖區;3操作系統拷貝數據,把內核緩沖區的數據從內核空間拷貝到應用…

el-table的行向上移動向下移動,刪除選定行

<template><el-table :data"tableData" border style"width: 100%"><!-- 其他列 --><el-table-column label"ID"><template slot-scope"scope">{{ scope.$index }}</template></el-table-colu…