大家好,我是CodeAllen康哥,今天是2023年6月1号,今天文章的主题是想分享我之前在知乎写的一篇关于单片机学习路线的文章。因为公众号对于超链接支持不好,具体的链接大家可以点击文末的“阅读原文”跳转到知乎阅读。
作为本科琢磨三四年单片机,毕业后第一份工作也是基于单片机的无人机开发者,却一直没有一篇完整记录学习路径的文章还挺遗憾的,今天就大致梳理下嵌入式单片机的学习路线。在开始正文之前,还是推荐下我的嵌入式咨询服务:嵌入式软件工程师一对一指导
前言
下图是我大一花了一个月自学51单片机之后,自己从画电路板到软件设计的第一件作品(之前做过几个都是手工焊接的),是一个很简单的基于51单片机的《便携仪温湿度测量仪》,第一次打板电源还搞错了,这已经是第二次打板之后的结果,现在看起来这么简单,但是当时却是历尽千辛万苦才搞出来,也是我这整个职业生涯的起点。
对于单片机学习,下面绝大多数是我自己的真实学习路径,还有一些是我根据多年的学习经验补充的必需的知识,所以如果是在校同学那可以从头开始学习,如果是爱好者那挑一部分重要的学习就好,也没必要太深究。
正文
还是先放个总结的脑图,因为技术本就是不断的变化,所以后期会根据实际情况不定期更新
从上图的高亮其实单片机学习的重点已经呼之欲出,对于初级单片机软件工程师最核心的几点:
C语言,核心中的核心单片机基础知识51/stm32单片机项目实践
单片机开发其实就是C语言的开发,这也是我一直以来的观点,C语言是单片机开发的核心,原则上再辅助其他基础知识就可以做到很好项目。
下边就是我提供的一些学习概念和资源,有时间会不断的更新,所以请持续关注!
由于公众号不能放链接。更详细的内容可以点击“阅读原文”跳转到知乎观看
https://zhuanlan.zhihu.com/p/475931051
基础学习一
目的:
对于这部分的学习,其实是很难单独割裂出来的,这部分一般都是在单片机教程的开始会花一两个课时进行介绍。
明白单片机的基本概念,知道什么是单片机
方法:
最好手里边有个开发板,可以看看实际单片机的外形,有多少引脚,引脚定义是什么?
书籍:
单片机_百度百科
郭天祥的《新概念51单片机C语言教程》的第1章 基础知识必备
基础学习二
目的:
如开头所说,C语言是单片机开发的核心,上一步了解什么是单片机之后,原则上就可以开始学习单片机了,这里一般都是推荐51单片机,因为51单片机的硬件比较简单,功能也不是很复杂,而且对于IO的操作很多例程融入了汇编,这对于理解编码和硬件的动作实现是非常直观的,很适合初学者理解。
方法:
模数电这里其实只要大致理解单片机的基本构成就好,不用深研,知道基本的电气了解是什么意思即可。
而传感器其实就是单片机的四肢,光有C语言是不行的,再结合适当的传感器就可以做出可以使用的作品。
然后就是一边学习C语言,一边学习单片机例程,最后可以自己用51做个简单的嵌入式作品。
书籍:
郭天祥的《新概念51单片机C语言教程(入门提高开发拓展全攻略第2版)》
杜洋的《爱上单片机(第2版)》
范红刚的 《51单片机自学笔记》
视频:
推荐视频是为了初学者可以更好入门,这里可以直接参考买的开发板配置视频就好,下边是我知道的还行的教程,当然在51这个级别基本不用看太多视频。
郭天祥的 : 10天学会51单片机—郭天祥_哔哩哔哩_bilibili ★★★★★
金沙滩的: 手把手教你学51单片机 KST-51单片机开发板 学习板 视频教程_哔哩哔哩_bilibili ★★★★
基础进阶:
目的:
通过上边的两个步骤,你应该掌握的知识有51单片机编程,C语言知识,还有一定的硬件设计能力
下边这个阶段就是进阶下一个水平,可以使用stm32单片机进行开发,做到可以基本熟悉使用库函数编程,有能力的同学应该开始探索操作系统编程知识,因为操作系统是嵌入式实际开发项目的利器,也是难点所在。
方法:
对于stm32的学习,得益于其在国内的深度耕耘,和很多厂商培训班的普及,所以其学习资源非常多,就业的岗位也非常多,所以是学习的重点。
比较简单粗暴的学习方法可以直接买其中一个厂商的开发板学习就行,但是从实际情况看,目前市面上开发板存在资料过多没有筛选,培训视频啰嗦,例程不符合开发流程,实践项目缺失等问题。
所以想进阶高水平的同学还是得有筛选资料,自我提升的能力。
资料集合:(成套的视频文档书籍集合,非常推荐)
正点原子stm32资料集合:正点原子STM32开发板 - 正点原子资料下载中心 1.0.0 文档 ★★★★☆
野火stm32资料集合 :STM32系列产品 - 野火产品资料下载中心 文档 ★★★★☆
安富莱论坛(虽然视频不多,但是是我认为最好的stm32文本资料):STM32F407 - 硬汉嵌入式论坛 - Powered by Discuz! ★★★★★
书籍:(上边的资料其实更好,下边书籍可以参考)
火哥的《STM32库开发实战指南》
北航的《STM32自学笔记》
《嵌入式实时操作系统μC/OS-II经典实例》
《嵌入式实时操作系统μCOS-Ⅱ》
单片机高级
上边的三步其实对于学习找工作就已经足够了。
而且细心的同学可能会发现,我说了C语言是嵌入式核心,但是前三步并没有特别给C语言的资料,这是因为前几步的资料里已经涵盖了很多C语言的学习,对于一般同学已经是比较难的了。
所以我把走向高级单片机工程师的部分独立了出来,这是单片机从业者走向高端的必经之路,也是走向高薪的关键。
对于这部分目前市面上也没有什么好的资料,原因就是我上边说的,大部分人可能都困在前三步了,很少有主动探索这部分的,当然如果这部分做好了,其实也就超脱出单片机开发了。
对于这部分,我后续会出教程并持续更新,如果有感兴趣的同学可以关注下!
私人微信,务必备注“公众号粉丝”
1624