单片机入门最佳路线,避开90%新手的坑

时间很快,不知不觉从事单片机开发很多年了,对于单片机怎么学这个话题,感慨万千。
单片机在外行人看来门槛很高,既要懂硬件又要会编程,大多数人还没开始已经吓尿了!
其实,单片机并大家没想的这么难,关键就是方向正确+努力。

下面来讲讲我的自学经历。

曾经我和大多数即将步入社会的学生一样,不知道自己以后该做什么,对未来充满无助和迷茫。
更糟的是,我在大学时候还因为生病耽误了半年课程,对那时候的我来说,回校第一件事就是给自己列计划,怎么补回自己失去的半年,赶上同学的进度。
一开始选择计算机这个专业,就是看重了它的毕业工资高。
但是编程分为很多种,C、C++、java、PHP等等等,一开始眼花缭乱,到底哪个最赚钱?
我接触单片机还是因为我的导师,我的导师第一天就问我对单片机感不感兴趣,当时懵懵懂懂,然后想着多学无害。

然后觉得这玩意有意思,因为能通过写程序去控制硬件去完成一些有趣的操作,比如说最经典的点灯,智障小车等等。

或许我是比较喜欢这种”即时反馈”,可以一边学一边做出好玩的东西出来。不过这中间走错了不少弯路。

如果当初我能看到这样一篇指引方现在想想,向的文章,那该有多么幸运。

Ok,干货正式开始,我将通过以下2点来讲述单片机要怎么学,才不会从入门到放弃。
1.单片机要学什么?
2.入门最佳学习路线
一、单片机要学什么?
我们不管学什么,最重要的目的都是奔着赚钱的,这点应该没人反驳吧?

对于单片机来说,前期变现唯一的方式就是去找工作。

我们直接打开招聘平台,然后搜”单片机工程师”、或者”嵌入式工程师”职位。

你只有了解招聘者想要什么技能,你才能对症下药,不能人家要求你会串口总线,你简历上写个妖鬼蛇神,hr没从你简历里得到有用的技能,你简历就进人才库了。
多看几个职位你就会发现大家的要求都是大同小异,我们只要抓住这些职位的共同要求,这个要求通常就是这个职位的刚需,而这些就是我们要学的。

什么?你还是总结不出来?

没关系,我早想到了!继续往下看!

二.入门最佳学习路线
入门学习路线大纲:电子元器件-电路基础-C语言-单片机-AD软件使用
1.电子元器件
单片机主要是用来控制硬件的,所以基本的电路必须要懂,而电路是由各种电子元器件组成的。

这些呢,你也可以看一下数字电路和模电的书,补充这部分的知识,当然也可以看教学视频!!
3.C语言
首先C是基础语言,对于c语言的入门,我觉得对于绝大多数的同学都没什么问题,因为我也看到很多同学跨专业的同学考计算机二级,那样的难度足够入门了,新人学c我建议是一遍学一边敲代码,理论和实践结合你理解的更深奥。

4.单片机
目前市面上主流的单片机就是STM32一大类的,不过你想干嵌入式必须会linux或者rtos,这部分也是一大难点,所以我建议同学们也可以用imx6ull一类的跑linux的板子学一下linux系统,而STM32可以学一下常用的外设(GPI0、Timer、中断、USART、IIC、SPI.PWM、DMA、ADC,CAN)就可以了,其他工作需要用到的时候再去学。

5.总结
正确的方向可以让你事半功倍,走错路比入错行更难受

嵌入式C++面经推荐大佬面经  链接在下边
全部评论
转人工
点赞 回复 分享
发布于 01-02 11:37 福建

相关推荐

05-19 这一周的面试。二面 40 分钟。发面经攒人品 许愿后面顺利简历项目一个是重写 muduo 网络库,一个是简单的 web server。一开始面试官问了一些学习原因,目标,兴趣方面的问题。1. 简单介绍自己(我的自我介绍太长了,需要改进。面试官在 1 分 30 礼貌打断开始提问了)2. 你自学这些项目时,是怎么样的想法?为什么要学?想达到什么效果?开源的框架已经有了 django,为什么你还要做呢?你看过开源框架的代码吗?3. 怎么样算是这个事情达成了呢?你是用什么标准来衡量自己的呀?4. 你自己对这些感兴趣吗?就是这个项目,自己做的事情5. muduo 网络库本来是什么语言?最后效果怎么样?比原生的要好吗?(回答说没有,再详细说明做 muduo 网络库的原因,从 webserver 中的事件驱动编程说的)6. 你有什么收获?(主要学习了网络编程,多线程编程,IO 多路复用。拓展提到 asio 库,redis 中的 IO 多路复用。)7. 为什么硕士转了方向?你转到计算机之后,一些基本的课程,是自己去补的吗?8. 编译原理了解吗?词法分析和语法分析用到哪些数据结构和方法,了解吗?怎么把表达式和函数分析出来?9. 一个进程在操作系统上跑起来之后,它的内存分布大概有哪些?(答了代码段,数据段,堆,栈)还有吗?10. 堆和栈,哪些东西在堆上,哪些在栈上?- 局部变量都在栈上吗?如果很大呢,声明一个一百万的数组呢?11. 怎么避免爆栈问题?怎么知道会不会爆栈?写代码有什么建议,比如,超过多大就需要用动态内存分配大数组?12. 听过读写锁吗,怎么实现?(10 分钟左右,可能算场景题了吧。)- 读者怎么请求锁,释放锁?写者呢?- 后来按照 acquire read,release read 这样的 api 来分别说明。代码题:数组中除自身以外的数字的乘积反问对实习生的期待。
查看14道真题和解析
点赞 评论 收藏
分享
评论
6
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务