单片机学习路线图

作者: 如蔓如篱 | 来源:发表于2017-08-13 13:58 被阅读62次

    如果从大二算起,自己接触单片机已经5年了,这5年一直没有间断对单片机知识的学习,今天写一点自己的感受,抛砖引玉,仅供参考。

    首先,学习单片机应该从哪些知识开始。一般人会提出从51单片机,从寄存器操作开始。我觉得掌握基础知识固然没错,不过如果真的只采用这种方法,效果却不明显,因为学习没有目的,没有方向,我的建议是接触基本的数电模电基础后,就可以买一块开发板试试手,51也好,STM32也好,AVR也好,总之要有一个实战的检验的平台,不然学习就会索然无味。

    最初的学习都是从复制粘贴开始的,不用不好意思,大家都是这样过来的。况且,能够通过复制粘贴一次点亮LED的也算是少之又少,大部分人还是难以做到不犯错误。比如时钟没有配置好,比如没有正确添加文件的路径,诸如此类林林总总的小错误,也会是你学习过程中的宝贵财富,因为错误也是经验的一部分,如果能通过错误举一反三,那就再好不过了。

    有了学习的兴趣,也有了实践的平台,接下来就需要有一个项目,简而言之就是要借助单片机去完成一个功能,在实践中学习,现学现用,用到什么学什么。你不仅越来越发现自己的无知,也越来越发现自己的老练。无知是因为发现自己面对着浩瀚的知识海洋有一种望洋兴叹的渴望与无奈,老练是发现自己通过学习已经领先同龄人掌握了一些知识并且避开了一些坑。在此过程中,我们会吃很多苦,有时候会因为一个语句没有配置好一整天都闷闷不乐,但当问题解决了之后,你终将会收获豁然开朗的快意。

    此后,你会利用所学的知识做一些力所能及的项目,你会发现单片机基本的外设自己玩了个遍,什么串口,IIC,FLASH都是超简单。不要着急,也不要骄傲,这个时候你会遇到另外一个挑战,就是算法。算法的定义很复杂,我也不再赘述,我理解的算法就是解决问题的方法。算法有好有坏,好的算法不仅要求能够解决问题,而且要又好又快地解决问题,理解累加求和与高斯求和区别的同学就能体会出好的算法是多么重要。不过这个要求太高了,大多数情况下我们只是为了完成任务而实现最基本的算法就已经竭尽全力了。好的算法就像电影明星,我们日常接触最多的还是普普通通的算法。这些普普通通的算法中夹杂着逻辑关系,会让我们焦头烂额,如果你想得到一点建议的话,我会说,永远不要采用GOTO语句。

    走过逻辑和算法这一关后,恭喜你,你又在单片机学习的道路上取得了很大进步,但这还不够,你会很快发现另外一个问题,你在做项目的过程中会遇到很多很多坑,往往会忽略一些小细节,同样不用不好意思,这些小细节都是前辈们犯过错误的地方,区别就在于你学到这些细节的方式,是通过自己试错,还是通过参考别人的设计?都可以,都有效,我建议后者,不过如果没有参考,也要勇敢去探索。

    时间终于来到某一天,你做了一个项目,感觉哪里都没有问题,可是就是没有按照你的意愿执行。于是你排查原因,从电源到时钟,从算法到单片机,忙了一大圈还是找不到问题是哪儿,那种焦躁简直难以用语言表达。直到身边的前辈给你指出来,“哦,你这个电路板接地不良,造成了大量的干扰,”哦,你这个编程架构不是很好啊,容易造成逻辑错乱的呀……”,这个时候,你终将会明白,姜还是老的辣,自己需要学习的东西实在太多了,不过别灰心,路漫漫其修远兮,吾将上下而求索。

    总结一下,要学好单片机,需要有数电模电电路基础,还要有良好的英语水平,还要注意解决问题的算法,同时还要掌握一些硬件PCB知识,祝你在单片机学习的道路上取得更大的收获。

    我是一名从事传感器开发的电子工程师,很高兴在简书遇到你。如果有什么好的建议和意见,欢迎您和我取得联系,您可以选择留言和发送邮件,邮件地址:zz_dxf@163.com

    相关文章

      网友评论

        本文标题:单片机学习路线图

        本文链接:https://www.haomeiwen.com/subject/khferxtx.html