嵌入式进大厂需要怎么学之入门
这篇文章主要写给大学刚接触嵌入式的同学。
很多新手觉得嵌入式入门并不容易,要牵扯的知识点太多——C 语言基础掌握了吗?汇编了解吗?电路原理学得怎么样,能看懂简单的原理图吗?AD 软件会画板子吗?
下面我会从这几个方面聊聊:
- 嵌入式的前景
- 如何入门嵌入式
- 怎么才算掌握一个单片机
- 学习单片机的最快途径
一、嵌入式的前景
有一种说法是:下一个时代是物联网的时代。
未来的生活一定是智能的、万物互联的——所有家电都会汇聚到一个终端上,通过它就可以控制周围的一切。就像扎克伯格给自己家写的那套系统一样,一个语音助手就能管整个家。
而这些智能设备,都需要嵌入式开发者去做:把程序烧进设备里,让它们任你控制。
干这行最爽的一点是:你能亲手做出自己想做的东西,而且都是很智能的设备。门禁、热敏打印机、电子手表、扫地机器人……开发出一款属于自己的设备,那种成就感是写纯软件给不了的。
嵌入式同时涉及软件和硬件,能真正动手操作单片机,这种感觉非常实在。
最后说一句心里话——真正喜欢嵌入式才去学。后期会有点难度,这时候靠的就是兴趣。 比的不是谁聪明,比的是谁学得久、积累得多。
二、如何入门嵌入式
想在大学期间学好嵌入式,从大一就要开始。
嵌入式不像纯软件那么容易,它要求你:
- 懂软件
- 懂硬件
- 懂各种硬件之间的通讯原理
也就是说,嵌入式需要一定的科班基础。
给大一新生的建议
- 多参加学校活动,多交朋友
- 重点留意实验室什么时候纳新,尽量大一就进去
- 大一的核心任务:把 C 语言学扎实
给大二同学的建议
- 开始学习单片机
- 一定要有老师带、学长带、有实验室环境
- 别想着自己闷在宿舍学,几乎不可能学好
- 实验室里学 C 的进度一定比课堂快,不会就问、就上网搜
- 入门时一定要备一套完整的学习资料,不然真的很吃力
三、怎么才算掌握了单片机?
大一阶段思维还没从高中转过来,总觉得"把所有东西看一遍做一遍才叫会"。如果只停留在这个层面,上限只能成为一个"匠"。
所谓掌握,是做到心中有数。心中有数的标准是:
掌握单片机的核心架构 + 拥有自己的编程思想。
我自己当时学到大二下学期,每个模块都学过,但就是不会用,没法把它们组合起来做项目。
后来有幸参加蓝桥杯,题目是做一个可以改时间的万年历。我需要把:
- 温湿度模块
- 时钟模块
- 按键模块
- 液晶模块
全部塞进程序里,让它们正常运转,并在主函数里调用各个模块的功能,最终拼出一个完整项目。
不一定要把每个知识点都吃透,但你必须能准确无误地把它们用起来。 能做到这一步,就算学会了。
四、大学四年具体怎么走
大一
- 最重要:C 语言
- 51 单片机可以提前接触
- 高数好好学,考研或后续工作都用得上
大二
- 把 51 单片机学完,做几个小项目
- 红外感应模块WIFI 模块蓝牙模块指纹检测模块……
你可以开始实现自己的想法了:跑马灯、动态数码管、模拟"世上只有妈妈好"铃声、时钟计时、红外控制……想做什么,问问老师有没有对应的模块就行。
- 学画原理图的软件:Protel99se 或 AD(Altium Designer)
- 课堂的 C++、数据结构、数据库,认真上课就够了
- 英语别丢:以后要看英文文档,四六级好好准备
- 大二下 / 暑假可以开始入门 STM32
大三
- 学一种上位机语言:VC 或 C#
- STM32 要学到精通
- 可以在 STM32 上学习 UCOS 实时操作系统
- 多打比赛、多做项目:电赛、挑战杯、蓝桥杯
- 有时间可以提前启动毕业设计(一般两个月能搞定)
大四
- 用 ARM 学习 Linux(学校阶段熟悉即可)
- 把前面知识都过关后,尽早去实习,到社会上磨练
五、最后说几句
你可能会想:这么多东西,选一个方向学不就行了?
但其实大学学的都是基础,是为以后学更深的知识铺路。 当你将来切换方向时——
- 大学接触过的东西,重新学很快
- 完全没见过的东西,工作里不会给你这么多时间慢慢补
所以多学一点,永远不亏。
回头看看自己写的这些,感觉大学这几年确实没少折腾,但也正因为这些折腾,才慢慢摸到了嵌入式的门道。
说到这,突然想起后来自己准备找工作那会儿,跟你们现在可能有点像——
面对海量的知识点,心里没底,不知道企业到底看重什么,面试会问些啥。 那时候真是恨不得有个过来人能直接把"考点"和"踩过的坑"都告诉我,能少走不少弯路。
之前参考的一个指南比较好 有需要的同学可以看看
嵌入式软件工程师面试完全指南
把整个秋招攒下来的面经全整理在这里了,目前32篇 / 12w+字,持续更新中。
内容覆盖:C语言陷阱 / 计网高频 / 操作系统 / RTOS / Linux驱动 / 通信协议 / 硬件基础——基本你面试会被问到的,这里都有。
已经有 4.7w+ 同学在看,3300+ 订阅,数据放这,口碑自己说话。
适合面经基础薄弱、想系统梳理一遍的同学,后面只会越来越全。
https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
