大家好,我是无际单片机编程徐工。

如何快速的入门单片机开发?百度一大堆广告,然后就是乱七八糟的文章,看的眼花缭乱。

排在最前面的是培训机构,后面就是一大堆文章。

有建议自学的,有建议报班参加培训的,有的建议先学51单片机,有的建议先学stm32。

翻了半天网页,看了很多资料,还有开源的教程,但感觉就是千丝万缕很难理清,不知所措。

我们先聊聊单片机开发通过自学容易嘛?

我是08年开始学习单片机的,第一次接触单片机,对单片机是什么没有一点概念,既不知道单片机是个啥,也不知道单片机能干啥,一片迷茫。

经过几天查资料,和实验室的同学沟通,才慢慢地对单片机有一个比较朦胧的概念。

单片机原来就和电脑的CPU一样,是电路板的核心,可以编程实现各种功能,例如点亮LED灯等。

此刻对单片机的认识就是它比较强大,比较神秘,而且学会单片机开发大有前途。

但自己不是电子信息专业的,自己可以学会单片机开发吗?相信这也是大多数自学者心中的疑问。

对自己是否可以学会单片开发还不是很有信心,也在心里反复地考虑要不要学习单片机。

最终我还是下定了决心,我要学习单片机,我要掌握单片机开发,我想自己可以独立开发电子产品。

我的专业没有单片机编程这么课程,只能通过自学来掌握单片机开发。

首先是啃教程,我借了电子信息专业同学的<单片机原理与应用>这本书,开始闷头学习单片机理论知识。

书本上的知识,大多数还是过于无趣,我大概花了4周时间,过了一遍,但因为没有基础,很多东西还是一知半解。

但过了一遍书本,我至少对单片机开发有了一个简单的认识。

通过课本我对汇编开发也有了一定的基础,但我的老师建议我学习C语言,因为汇编的移植性差,不通用等。

我又花了2个月学习C语言,那段时间,因为特别想学会单片机,所以学习劲头非常足。

C语言学习完之后,自己就做了一点小投资,买了一个51开发板和一台大屁股台式电脑。

开发板学习我大概花了3个月时间,通过C语言完成了单片机所有资源的驱动,串口、外部中断、IO输出输入,DAC,ADC,定时器等。

一不留神,自己的故事又说了一大堆!

从我的单片机学习的经历来说,感觉还是挺曲折,曾经也迷茫过,也挣扎过,也想过放弃。

自学需要有坚定的意志,还真不容易,也就说一个人最大的敌人还是自己。

对于那些正在自学的兄弟们,肯定是和我有过同样的感触,从刚开始的自信到后来的迷茫,从迷茫逐步的走向绝望,放弃。还好,我坚持过来了。

那学习单片机有没有什么好的方式和途径?

我以一个过来人的身份,给大家分享一些经验和建议。 

学习单片机开发,如果可以找个老司机来带带,可以让大家少走很多弯路,就像我们无际单片机编程最近有个学员,自学了将近2年没效果。

就是因为他的学习路径不正确,也是通过开发板去学习,虽然能在开发板上把单片机外设都用起来,不过一做项目就没一点思路。

当然由于各种原因只能自学,那就看看我下面的个人建议。

第一: 下定决心

先要确定好,自己是否对单片机开发有兴趣,是否能坚持下去。

如果两天打鱼三天晒网,那就是浪费时间,学到一半还不如不学。

确定学习单片机就一定要下定决心,相信自己一定可以把单片机搞定。

第二: 在某宝上买个开发板

买个开发板,做点小投资还是非常必要的。

新手的话还是建议从52单片机开始学习。

第三: 学习单片机C语言

我经常给学员强调C语言的重要性,要求大家把C语言的基础一定要打牢固。

但并不建议买C语言教程或者书本,埋头苦干,因为从书本上学不会编程。

我们要精准地学习单片机编程开发需要的C语言知识,否则就是浪费时间。

单片机学习初级阶段,掌握单片机的基础就OK,随着基础的不断牢固,再深入的学习C语言的高级语法。

第四: 基于开发板学习单片机程序编程

对C语言有一定的基础之后,就可以正式开始单片机学习了。

单片机学习最重要的一点就是要多动手,都思考,多实践。

开发板一般都带有配套的教程,大家可以跟着教程敲代码,学理论,做实验,掌握单片机开发的基础知识。

第五: 开始项目实战

相信很多兄弟,跟着开发板学完之后,就不知所措了,不知道自己是否单片机入门了?还是不知道怎么用单片机做产品?也不知道接下来该如何继续学习?

这种发自内心的迷茫,我曾经也为此煎熬。

其实前面学习的C语言和单片机资源的驱动,都是单片机开发的基础知识。

项目实战才是单片机学习的重点,也是学习单片机的难点。

项目实战,大家可以先做一些类似于电子时钟的简单项目,也可以根据自己喜好去DIY项目,最好的还是通过实际项目去学习,像无际单片机编程提供的“无线门磁探测器”和“WIFI报警主机项目”一样。

大家如果可以自行的完成1-3个项目,那你单片机开发水平一定会有质的飞越。

以上的内容都是个人的经验之谈,希望可以帮助到大家。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐