如何学好单片机编程?学好单片机的基础是什么?

Posted 无际单片机编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何学好单片机编程?学好单片机的基础是什么?相关的知识,希望对你有一定的参考价值。

大家好,我是无际。

最近几个推文都比较烧脑,今天水一篇轻松的,免得大家头发越来越稀疏。

在我即将毕业的那年,我一直很羡慕学校学计算机专业的同学。

他们的未来充满了前景,工作几年拿个几万块,而且上限也高,工作环境又好,听起来还有逼格,毕竟搞高新技术的。

而我学的是电气工程,当初完全是感觉工程牛逼,才选的这个专业(其实分数低也没太多选择)。

学了1年以后学校把我整个系强制转成电梯专业,在未来的几年,都跟轿厢、轿门、电机、机房打交道。

临近毕业我才知道这个职位有多卑微和苦逼,工资低、责任大、24小时待命就够我受的了。

细思极恐,花了这么多青春,浪费了这么钱,最后出来去做这种工作,如何面对自己?如何对得起父母辛勤付出?

后面在所有人都不看好的情况下我自学了单片机,并成功转行。

自学和后面的求职之路都非常坎坷,简直就是生理和心理的巨大考验,中间省略1万字,毕竟我的个人经历不是今天的主题,有兴趣的可以多看我的文章了解。

到今天为止,我从事单片机开发正好10年,有很多很接地气的经验想分享给各位初学者。

但是我在此之前,我先给各位提个醒。

我看过非常多写单片机入门的文章,如果真的按照他们写的方式学习,你将面临的弯路可以绕地球一圈了。

庆幸的是,10年前我在自学的时候,互联网没这么发达,信息没现在这么泛滥,所以我从零到找到工作也就几个月的时间。

下面是我10年前记录在blog里的一些学习笔记,虽然写得烂,但我一直不舍得删。

图片

我经常会碰到一些小伙伴的咨询,说自己不是这个专业的、没学历、都26岁了能学会并且从事这个行业吗?

我想说的是,只要你想,那就把这些给你带来负面情绪的词从你大脑删除。

人最擅长的就是自己吓自己,其实都是为了逃避烧脑的借口而已。

先干起来比想什么都强,如果你不确定,我就是一个很典型的例子,我能做到的,你也一定能!

学好单片机编程,从头到尾,我觉得都没那么难。

当我工作了10年,做过的产品至少在30个以上以后,我悟到了更快学会单片机的秘诀。

大家拿笔记住以下公式:

正确的学习路径+不断实践

一、正确的学习路径

正确的学习路径非常非常重要!方向都是错的,努力有个屁用!

为什么每个人学习的周期不一样,其实并不是谁比谁智商高,而是谁的学习路径更接近结果的区别。

就像最近我们无际单片机编程一个40多岁的学员,之前自己一直摸索,搞了很久连单片机是怎么回事都搞不明白。

后面经过我们一对一指导,1个多月都能开始做项目了,后面一些指针、回调函数基本也能搞懂。

所以,新手宁愿花1周甚至半个月去规划系统学习路线,也不要像无头苍蝇这样盲目学习。

图片

下面,我从整体框架上跟大家聊下大体的学习路径,也就是做单片机开发必学的一些知识点,至今为止我没看到有比这个更接近现实的。

1.基础电路

单片机必须配合电路,然后通过电路控制逻辑写程序,最终才能完成产品功能。

所以想写程序必须要看的懂电路,学习电路的时候千万不要系统学习模拟电路。

一般人很难学得懂,学到负反馈放大电路就差不多了,其他你不去做芯片做模块基本很少用得到。

2.c语言

单片机支持汇编和c两种语言编写程序,汇编我做了10年产品开发基本没用到,所以主力学c语言。

那针对单片机c语言需要学哪些内容,我们也有专门的视频教程。

图片

想要的可以找无际单片机编程获取。

3.单片机

虽然现在stm32很流行,但是希望新手能从51开始学起。

51的难度指数更适合新手入门,开发模式也更底层(配置寄存器)。

stm32的定位是做应用,也就是芯片原厂会提供固件库给你,调用他们的函数就能把资源用起来,不用配置寄存器。

如果直接学stm32可能会导致你的基础缺失。

更具体的学习路径可以参考我下面这篇文章,这里就不再阐述了。

单片机入门到高级开挂学习路径(附教程+工具)

二、不断实践

对于不断实践,我分为两个阶段:

1.开发板阶段

开发板阶段主要是学习单片机外设的使用,就是怎么把单片机所有资源都用起来。

2.项目阶段

经过开发板阶段以后,你基本已经入门了,下一步就是培养你的产品功能实现思路和提升代码水平。

很多人学完开发板阶段,又直接晋升到更高级的开发板继续学习,比如说从51到stm32开发板。

这就导致,不管你怎么学,一做项目,都无从下手。

你缺的根本不是单片机的使用,而是我上面说的产品思维和代码水平

这个只能通过项目去提高,那去哪里找这种项目?

我的首选建议是找个资深的人带你,因为他的经验和技术都在你认知范围之外,只有学习这些你才能真正快速提高

还有就是可以通过网上找一些DIY套件的项目,比如说寻迹小车、电子游戏机之类的。

这种的缺点是即使你把功能实现,但代码水平和思路依然处于你的认知水平。

但是离实际产品的代码架构和功能实现方法或许还有挺大差别。

但是总归比你什么都不做要好。

以上就是我的精华总结,也是我认为学好单片机的基础,大家可以参考。

以上是关于如何学好单片机编程?学好单片机的基础是什么?的主要内容,如果未能解决你的问题,请参考以下文章

学好单片机好找工作吗?单片机学到什么程度可以找工作?

单片机学多久能工作,单片机学好了能应聘什么工作?

ARM 开发板 问题

单片机基础理论知识学习

单片机外包公司可以去吗?学好单片机能接私活吗?

单片机外包公司可以去吗?学好单片机能接私活吗?