单片机怎么学?保姆级学习路线(附教程+工具)

衷心希望,这篇内容对你价值一万。

内容有点长,写了2天,如果你赶时间,建议先点赞+收藏防止找不到。

我从事嵌入式单片机开发10几年,从事开发越久,越发现嵌入式开发这个领域涉及的知识无穷无尽。

不过,这不代表你需要花3-5年才能学会,如果目标仅仅是为了找份工作,4-6个月时间,进行针对性学习,也是完全没问题的。

这篇文章,就是给大家一个具体可实操的,从入门到就业最快的自学路线,从职业定位到不同阶段学什么内容,直接把饭喂到你嘴里,无论是科班学生,跨行自学、都能轻松上手。

一、行业常见问题解答

在规划学习路径之前,你或许有以下疑问,请先仔细阅读,看看这个行业到底适不适合自己。

1.单片机开发薪资有多少?

薪资有很多因素组成,比如学历、城市、能力、专业

拿一线城市举例:

大专和本科学历,刚入行,大概薪资在8-14K之间。

硕士研究生学历,刚入行,大概薪资在16-20K左右。

工作多年以后,可以参考下图,平台的数据是最靠谱的,以深圳地区为例。

  1. 没学历能学吗?

建议至少大专及以上学历,现在应届生基本都是本科、硕士、站在企业的角度,如果学历连大专都没有,凭什么别人不要本科,要你?

除非一种可能,就是公司非常小,需要廉价劳动力....

3.30岁还能学吗?

这个年纪,肯定可以学,要看你学习的目的,如果你是纯粹的兴趣,50岁学都不晚。

但是大多数人,我相信是学来就业的,从目前的形势来看,30岁零基础自学,或者转行,还是有就业机会的。

但是如果超过32,就业概率会更低。

所以,30岁,我认为是一道坎。

4.有35岁职业危机吗?

我做了这么多年,碰到年纪最大的50多岁还在干研发的,40多岁的也挺多。

我觉得没有35岁危机,因为单片机的产品涉及硬件,不像纯软件那样,随时可以通过后台更新程序。

单片机产品很多是不支持远程升级的,这意味着,你产品发出去,有问题,就只能退货回来维修升级。

假设产品批量上市了,目前市场上有100W套,退货是什么概念?公司可能分分钟赔到破产。

所以,经验,太重要了,经验靠什么积累?不就是时间和项目吗?30多岁,正是经验最丰富的时候。

我认为,完全没必要想这么远,很多人干到30岁,其实就不想再打工,不想在一线做研发了,这是退步的表现。

  • 职业定位

如果你在网上看了很多关于嵌入式开发的学习文章,会感觉门槛很高,需要数字电路、模拟电路、C语言、汇编、51单片机、STM32单片机、RTOS、Linux、ARM等等。

如果你按照这些内容学,基本不可能坚持得下去,哪怕能坚持下去,学习周期至少也要1-2年,我称这种行为叫走弯路

学习内容不清晰,不怪你,因为小白根本没经验。

在学嵌入式开发之前,我们首先要定位职业,而不是急着找教程。

就是我们学出来具体是从事什么岗位?

嵌入式目前主流分为单片机开发、Linux驱动开发、Linux应用开发。

我们这篇文章主要针对单片机开发方向进行讲解,我对这个方向最熟悉。

二、学习路径规划

下面,我为大家总结了,对于单片机软件开发这个职位,最常用到的一些知识点。

1.C语言

单片机支持c语言和汇编,前期先不用学汇编,以C语言为主。

不要和我杠说汇编不学,不是合格的单片机工程师,永远对单片机底层不了解,你这么能咋不去造光刻机。

我做了10几年,基本没用过汇编,汇编的应用场景,大概就2个,第一个是移植RTOS的时候,第二个产品对成本要求非常苛刻,使用的单片机资源非常非常少的时候。

前期C语言只需要学一些基本语法、数运算符即可,实际用得少的,都先不用学。

比如下面这个教程的内容:

市面上很多C语言教程都是基于纯软件的,学完以后去开发单片机程序会有点生涩,这个是基于单片机的C语言,能无缝过渡,也是完全免费的,原创作者【无际单片机编程】。

2.基础电路

以前我学,走得弯路是最多的,买了一本很厚的电子元器件手册书啃,大概几千页。

又看了很多模拟电路的教程,我一度怀疑我学得不是电路,而是天书

工作很多很多年以后,回想起来,我才发现自己踩坑了。

光三极管这个章节,乱七八糟的一堆公式就够你学几个星期,其实模电上很多东西,一般都用不上,三极管最常用的功能就是开关作用,10几分钟就能理解了。

所以,前期基础电路,只需要按照我提供的内容学习就可以了。

先学常用元器件:电阻、电容、电感、二极管、三极管、MOS管。

再学一些常用电路:单片机最小系统电路、LED驱动、按键检测、EEPROM存储电路、数码管/屏显示灯。

学到能看懂开发板原理图,前期就够用了,后面工作了再慢慢积累。

现在电路集成度很高了,很多功能性电路,都有现成芯片方案解决。

3.51单片机

有些人可能会好奇,现在标配都是STM32了,51单片机已经过时了,还有必要学吗?

到外面,千万别这样说,显得你业余。

我建议新手最好从51单片机开始学习,理由如下:

51单片市场应用依然广泛:51单片机在家用电器、工业控制、汽车电子等领域有广泛的应用,很简单的道理,51成本低,简单,如果条件允许,企业巴不得把STM32的产品线全部换成51的。

资料教程丰富: 51单片机作为入门经典,历史非常悠久了,所以相关的教程、资料、工具、示例代码也是铺天盖地,这些资源能够帮助你更好地入门和学习。

容易上手:学技术即使反馈感很重要,比如学1小时就能写程序跑个流水灯功能,比你学别的编程语言在冷冰冰的屏幕显示“Hello world”要有趣的多吧?如果你一上手就搞性能复杂的单片机,可能光搭建环境都需要花几天时间。

51单片机是一个经典的单片机系列,很多现代的单片机仍然借鉴了51单片机的设计思想,掌握了它的基本原理和设计思想,可以帮助你更好地理解其它单片机系列的工作原理和设计方法。

4.用51单片机做项目

很多人学完51单片机直接就去学STM32了。

先使用51单片机做点小项目很重要,比如电子时钟、智能小车等等。

你可以逐步提升项目的复杂度和难度,这有助于培养你的自信和解决问题的能力,当然最关键是对C语言、单片机基本原理、编程方法、电路分析的巩固总结。

这一个阶段我觉得比学STM32更重要,同时也很煎熬,做项目没思路,脑子一片空白,程序也不知道怎么写。

这个都是每个工程师的必经之路,解决方法是先模仿别人的项目思路和代码实现方法,然后自己多动手实践,没什么捷径。

5.C语言进阶

51单片机的程序一般比较简单,不用指针、结构体也能实现功能。

但是到了STM32,会大量使用指针、结构体、枚举这些C语言高级应用。

这个阶段,如果你用51单片机做过项目,相信你的编程水平已经有一定提升,所以这个时候学C语言进阶是比较合适的。

这块建议学习【无际单片机编程】的程序架构课程,也是完全免费的,可以找我拿:

教程内容涵盖指针、结构体、枚举基本知识以及高级应用,比如队列算法、回调函数、任务调度等等,目前应该找不到比这个更系统、全面、硬核的。

6.STM32单片机

熬了这么久,终于到大家梦寐以求的STM32了。

如果你严格按照前面顺序学习,你学STM32会轻松很多,如果你跳级学,那你所花的时间大概率会比从51单片机开始学更长。

我是直接通过项目学的STM32,当时听说这款单片机直接调库,非常方便。

刚开始接触也很懵,外设资源复杂很多,固件库代码也很多。

不过通过项目学,效率高很多,只需要学项目涉及到的外设就可以了,很多外设学起来很复杂,实际又不常用。

如果通过开发板学,可以看上面那个学习路径STM32单片机部分,我给大家总结了产品最常用的外设,前期先学这些就够了。

7.STM32项目

学完STM32以后,就可以尝试去找工作了,如果没项目经验,求职过程可能会比较坎坷。

无论如何,后面所有的精力都用做项目身上,暂时不用学RTOS之类的,后面工作用到再学,这些都是工具类的。

工具类的东西学完,你还是不会做项目的。

这个时候,你最需要提升的是编程思维和代码水平,还有项目的整合调试能力。

最快的方式就是找现成的项目学,找行业大佬带,持续做复杂和有价值的项目,就是成为技术大牛最快的捷径。

也可以到网上找一些DIY的项目做做,不过这种对你的提升仅仅是到熟练阶段。

实际工作开发产品需要考虑的因素会更多,比如成本、尺寸、程序移植性、功能扩展灵活性等。

 

对于初者想要学习飞思卡尔(Freescale)单片机,可以按照以下学习路线进行: 1. 学习基础电子知识:了解电子元件、电路原理、数字电路和模拟电路等基础知识。 2. 掌握C语言编程:飞思卡尔单片机主要使用C语言进行编程,因此需要学习C语言的基础语法、数据类型、流程控制和函数等知识。 3. 了解单片机架构和特性:熟悉飞思卡尔单片机的架构和特性,包括中央处理器、存储器、输入输出通道以及时钟系统等。 4. 学习飞思卡尔开发工具:掌握飞思卡尔开发工具,如CodeWarrior、Kinetis Design Studio等,在开发环境中进行代码编辑、编译、下载和调试等操作。 5. 学习外设驱动编程:了解飞思卡尔单片机常用的外设,如GPIO(通用输入输出)、UART(串行通信)、SPI(串行外设接口)和I2C(串行总线)等,并学习如何通过编程控制这些外设。 6. 进行实际项目开发:选择一些简单的项目,如LED灯控制、蜂鸣器控制或者温度传感器读取等,通过实际项目的开发来巩固所知识。 7. 深入学习特性:进一步学习飞思卡尔单片机的高特性,如中断、定时器、PWM(脉宽调制)和ADC(模数转换)等。 8. 参考资料和实战经验:除了学习教材和在线资源,还可以参考飞思卡尔官方文档和论坛,以及与其他开发者交流经验。 请注意,这只是一个基本的学习路线,具体的学习内容和进度还需要根据个人的实际情况和学习目标进行调整。祝您学习顺利!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值