大多数人学不会单片机,或者说还没入门就放弃的原因除了C语言就是数电模电了。
当初我自学时,就是因为看模拟电路教程,看的我怀疑人生,差点放弃继续单片机。
大多数初学者问题基本都一样,不知道学单片机需要什么基础知识。
看到很多文章说要学模拟电路、数字电路、C语言、微机原理、单片机、会看芯片手册等等。
有很多,我做了这么多年开发都没接触过的知识。
这些文章让多少初学者走了弯路,又让多少初学者渴望进入这个行业,又不得不望而却步。
下面来分享下自己的经验,以下内容绝对有非常大的参考价值,因为我的学历不高,也非电子专业,属于自学转行,不知不觉在这个行业做了10年。
一、定位
首先,我们要明白一点,不管做什么,前期的定位是非常重要的。
定位越清晰,你的学习周期越短,见效的时间也越快
做单片机开发涉及的技术太多了,从职业定位来说可以分为:
1. 硬件工程师
2. 单片机软件工程师
1. 硬件工程师
大多数都是做方案应用,初中级难度不大,即便你是工厂修电路板的,稍微学习1-2个月都能成为中级。
这就为什么很多人说硬件比软件的工资要低,就是大多数人都是处在中级。
中级硬件工程师的工作内容是:设计原理图、画PCB、整理物料清单(BOM)、焊接样品、调试硬件功能、生产跟进。
而高级硬件工程师的工资待遇就不一样了,分分钟秒杀单片机软件开发工程师,但是要达到那个程度比较难,因为只能靠时间、项目、经验累积,是不可能靠看书或者看视频教程达到的。
2. 单片机软件工程师
所以,我一直对我的学员说,我们的定位是软件。
因为软件相对成长速度比硬件快(工资),而且做软件肯定会接触到硬件。
比如说功能调不出来的时候,我们首先需要去排查硬件有没问题,然后再排查软件。
这个过程,其实就是对你硬件的经验积累,当你做的产品多了,解决的问题多了,自然而然就达到中级硬件的水平了。
然后你只需要学一下怎么画原理图,怎么画元器件封装,怎么画PCB,其实你就已经具备基本的全栈能力了,能独立完成一些产品从硬件到软件设计的了。
二、需要学习的知识
那既然是定位软件,那重心肯定是在编程和单片机上面,然后电路这块你只需要知道是什么信号,什么协议输入到单片机、又是输出什么信号、什么协议控制外围电路的就可以了。
那是不是就非常简单了?
常用的无非就是电平控制、单口通讯、IIC、SPI、串口、ADC、FSMC之类的。
至于电路具体是怎么实现的,其实我们根本不需要关心,我们只需要关心最终输入和输出是什么信号协议就好了。
当然,你还是需要一点电路基础的,我们针对性地给学员录制了一些必备的基础电路知识:
获取方法可以看我下面这篇文章的开头。
单片机入门到高级开挂学习路径(附教程+工具)
基本不需要接触到模拟电路那些复杂的公式计算,就是简单地欧姆定律和二极管、三极管的常规作用。
最后总结,现在互联网资料教程实在是泛滥了,新手往往很难从中去筛选合哪些要学的,哪些讲的比较好的。
所以我们前期一定要先有定位,然后根据定位去找需要学习的知识,把这些知识记录在表格里制定一个详细的学习计划。
最后把计划拆分成每天需要学习哪些内容,花费多长时间。
这也是我自己这几年学习和工作的方式,几天半个月看不出效果,当你坚持2-3个月甚至半年1年,你绝对会为你当初的坚持而感到荣幸。
这个道理很多人都懂,但是真正能执行到位的有多少?