单片机学完开发板,如何继续提升自己的技能?
很多人学完开发板后都会卡在一个尴尬的阶段:觉得自己会的东西不少,但又不知道下一步该干啥。会点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+说明文档,让你迅速进阶成高手!

教程资料包和详细的学习路径可以看我下面这篇文章的开头。
《单片机入门到高级开挂学习路径(附教程+工具)》
《单片机入门到高级开挂学习路径(附教程+工具)》
《单片机入门到高级开挂学习路径(附教程+工具)》
相关文章:
单片机学完开发板,如何继续提升自己的技能?
很多人学完开发板后都会卡在一个尴尬的阶段:觉得自己会的东西不少,但又不知道下一步该干啥。会点C语言,能烧录程序,能点亮LED,玩转按键,搞定串口等等,能用开发板做点小玩意儿,但面对…...
luogu「EZEC-10」打分 --- Python3 解法
题目链接: 「EZEC-10」打分 import sysdef max_score(n, m, scores):scores.remove(min(scores)) # 最小值的选取,不影响中间部分的处理scores.sort()max_ scores[-1]sum_ sum(scores[:-1]) # 中间部分len_ len(scores)needed (len_ - 1) * max_ …...
MySQL事务介绍
一、一个典型的事务场景 步骤操作描述SQL 语句1开启事务,确保转账操作的原子性START TRANSACTION;2从用户 A 的账户中扣除 100 元UPDATE account SET balance balance - 100 WHERE user A;3向用户 B 的账户中添加 100 元UPDATE account SET balance balance 1…...
明基PD2700U显示器无法调节图像模式
现象:明基PD2700U显示器无法调节图像模式,如下图: 目前未找到根本原因,推测可能是下面的原因: 1、安装了远程桌面软件:向日葵、虚拟显示器 2、显卡插入了接口,但是没接显示器 解决办法…...
基于FPGA轨道交通6U机箱CPCI脉冲板板卡
板卡简介: 本板为脉冲板,脉冲板主要执行CPU下达的指令,通过实现各种控制算法来调节PWM,然后输出光纤PWM信号来驱动变频器功率模块以达到控制电机的目的。 性能规格: 电源:DC5V;15V FPGA&…...
SpringBoot-已添加并下载的依赖,reload和mvn clean 后还是提示找不到jar包问题
背景: 添加spring-jdbc依赖时,原来是指定版本的,担心版本冲突,就改成依赖托管,悲剧的是反复reload和mvn clean,import到类的该包一直标红,提示jar包找不到。。。 解决方案: Idea左上…...
如何通过 Airbyte 将数据摄取到 Elasticsearch
作者:来自 Elastic Andre Luiz Airbyte 是一个数据集成工具,可自动化并可扩展地将信息从各种来源传输到不同的目的地。它使你能够从 API、数据库和其他系统提取数据,并将其加载到 Elasticsearch 等平台,以实现高级搜索和高效分析。…...
配置 VSCode 的 C# 开发环境
1. 安装必要的依赖 1.1 VSCode 扩展 安装 C# 相关插件(如 C#、C# Extensions 等)。 1.2 .NET SDK 下载地址:.NET SDK 下载页面 1.3 安装检测 在命令行输入以下命令,如果正确返回了版本号,则表示 .NET SDK 安装成…...
如何用DeepSeek进行项目管理?AI重构项目全生命周期的实践指南
一、项目管理的核心工作范畴 现代项目管理包含六大核心模块,构成完整管理闭环: 1. 需求管理(20%工作量) 案例:某电商平台"双11"大促项目需整合23个部门的142项需求 关键动作:需求收集→优先级…...
Git 回退操作详解:带示例的“小白”指南
前言 在日常开发中,我们难免会遇到: 改错代码:推送之前才发现某些行根本就不该动提交错误:commit 信息打错、提交到错误分支想回到之前版本:测试时发现之前版本是好的,需要回去查看 这就需要用到 Git 的…...
vue3 引入element-plus组件后,发现输入的时候没有提示,而且鼠标移到el-button显示unknown的简单解决方法
1、element-plus官方地址 一个 Vue 3 UI 框架 | Element Plus 2、安装 安装 | Element Plus 3、安装插件unplugin-vue-components、unplugin-auto-import并配制 快速开始 | Element Plus 4、输入关键词没有提示及ElButton:unknown的处理 1)装个扩展插件…...
如何让焦虑为城市供能 | 杂谈
凌晨两点,我盯着满桌冷掉的碳烤磷虾烩面——这顿价值500星币的宵夜。当冒充食客的就餐员像幽灵般消失后,躁动的神经末梢突然刺破迷雾:那些令人窒息的负能量,是否能在量子层面转化为清洁动能? 这个疯狂假设打开了四维能…...
【Linux】浅谈环境变量和进程地址空间
一、环境变量 基本概念 环境变量(Environment Variables)是操作系统提供的一种机制,用于存储和传递配置信息、系统参数、用户偏好设置等。 环境变量的作用 配置程序行为: 程序可以通过环境变量获取配置信息,例如日…...
如何使用 DeepEval 优化 Elasticsearch 中的 RAG 检索
作者:来自 Elastic Kritin Vongthongsri 学习如何使用 DeepEval 优化 RAG 流水线中的 Elasticsearch 检索器。 LLMs 容易产生幻觉、缺乏特定领域的专业知识,并受限于上下文窗口。检索增强生成(Retrieval-Augmented Generation - RAGÿ…...
行为模式---状态模式
概念 状态模式是一种行为模式,用于在内部状态改变的时候改变其行为。它的核心思想就是允许一个对象在其内部状态改变的时候改变它的行为。状态模式通过将对象的状态封装成独立的类,并将其行为委托给当前的状态对象,从而使得对象行为随着状态…...
嵌入式裸机设计--MCU常用裸机架构有哪些?
为什么是裸机设计 792125321入群学习更高效! 在MCU(微控制器单元)裸机开发中,我们常见的架构设计主要围绕如何高效管理资源和任务调度。认识这些开发方式,对我们开发一个小型项目来说及有好处! 下面介绍…...
【LInux进程六】命令行参数和环境变量
【LInux进程六】命令行参数和环境变量 1.main函数的两个参数2.利用main函数实现一个简单的计算器3.环境变量之一:PATH4.修改PATH5.在命令行解释器bash中查看所有环境变量6.用自己写的程序查看环境变量7.main函数的第三个参数8.本地的环境变量和环境变量9.环境变量具…...
深度解析前端面试八股文:核心知识点与高效应对策略
深度解析前端面试八股文:核心知识点与高效应对策略 1. 引言 前端面试是每位开发者迈向职业进阶的重要环节,涉及 HTML、CSS、JavaScript、性能优化、浏览器原理、网络、安全、框架(Vue/React) 等核心知识点。本文不仅会覆盖 前端…...
激光slam学习笔记10---ubuntu2004部署运行fastlivo2踩坑记录
背景:mars实验室又发福利啦!跑跑效果,验了那句,mars出品,必属精品!本人pc环境ubuntu20.04,基本流程按照readme走就行,sophus和vikit安装有些注意地方。本文做了一些部署踩坑记录&…...
织梦DedeCMS优化文章模版里的“顶一下”与“踩一下”样式
测试的版本5.7.1UTF-8 一、插入<head>Js代码 将下面代码插入到文章模版里的<head>标签里 <script language"javascript" type"text/javascript" src"{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script> <…...
IDEA+Docker插件一键部署SpringBoot项目到远程服务器
文章目录 1. 服务端1.1 安装Docker1.2 Docker放开远程连接1.3 重启Docker1.4 开放端口1.4.1 云端1.4.2 服务器内部防火墙指令 2.IntelliJ IDEA2.1 安装IDEA2.2 安装Docker插件2.3 SSH Configurations2.4 Docker选择对应的SSH2.5 Dockerfile2.5.1 Dockerfile2.5.2 Dockerfile Ed…...
【SoC基础】单片机之RCC模块
📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…...
机器学习之梯度消失和梯度爆炸
文章目录 梯度消失1. 原理2. 影响3. 易出现情况4. 解决方法5. 编程实战案例 梯度爆炸1. 原理2. 影响3. 易出现情况4. 解决方法5. 编程实战案例 常用权重初始化方法及其影响1. 随机初始化2. Xavier初始化(Glorot初始化)3. Kaiming初始化(He初始…...
C++基础 [五] - String的模拟实现
目录 前言 string类的模拟实现 成员函数的实现 构造函数 拷贝构造函数 赋值运算符重载 析构函数 元素访问的实现 operator[ ] Iterator - 迭代器 容量大小的实现 size capacity reserve 编辑resize 内容修改的实现 push_back append operator(char ch) …...
LLVM学习-- 构建和安装
一 LLVM版本 二 适用预构建的二进制文件安装LLVM 三 适用包管理器安装LLVM 四 从源码构建用于Linux的LLVM 五 从源码构建用于Windows和Visual Studio的LLVM 六 从源码构建用于MacOS 和XCode的LLVM 1.1 LLVM项目从10年前第一次发布到版本3.4,其SVN存储库包含了超过20…...
python中使用单例模式在整个程序中只创建一个数据库连接,节省资源
示例代码: from loguru import logger from pymongo import MongoClient from pymongo.errors import ConnectionFailurefrom llm_engineering.settings import settingsclass MongoDatabaseConnector:_instance: MongoClient | None Nonedef __new__(cls, *args,…...
AIAgent有哪些不错的开源平台
AIAgent领域有许多优秀的开源平台和框架,以下是一些值得推荐的开源平台: AutoGPT AutoGPT 是一个基于 OpenAI 的 GPT-4 和 GPT-3.5 大型语言模型的开源框架,能够根据用户给定的目标自动生成所需提示,并利用多种工具 API 执行多步骤…...
Python刷题:流程控制(上)
今天刷的是PythonTip的Python 入门挑战中的题,整体难度不高,适合小白练手以及巩固知识点。下面会进行详细讲解。 每日一句 每一个拼命努力的人,都像是独自穿越黑暗森林的行者, 没有并肩的身影,唯有孤独如影随形&…...
vulhub/Billu_b0x靶机----练习攻略
1.Billu_b0x靶场下载链接: https://download.vulnhub.com/billu/Billu_b0x.zip 2.下载后,解压出ova文件,直接拖至VMware中,重命名和选择存储位置,点击导入,报错点击重试即可。修改网卡为NAT模式。 打开靶…...
【YOLOv8】YOLOv8改进系列(8)----替换主干网络之Swin Transformer
主页:HABUO🍁主页:HABUO 🍁YOLOv8入门改进专栏🍁 🍁如果再也不能见到你,祝你早安,午安,晚安🍁 【YOLOv8改进系列】: 【YOLOv8】YOLOv8结构解读…...
