0.前言
0.1 为什么要写这个教程
其实最重要的目的是为了总结自己学习和整理的资料,同时锻炼下自己的写作水平。毕业已经十多年了,平常也一直爱学习一些自己感兴趣的东西。自己对软件硬件都非常感兴趣,有些知识学过之后,一段时间就忘了,需要用的时候再看一遍,以前我经常自己用笔记本记下来,但发现有很多的弊端:(1)一些涉及代码的手写笔记并不是很友好,(2)手写记录的东西不直观且没有一个总的概览,(3)由于搬家以及时间太久等原因,一些笔记本都丢了,自己当时总结的一些知识点也没了。
CSDN上看文章博客也好多年了,感觉在这里写文档还是蛮好的,可以把自己学到的东西记录下来,方便自己日后需要的时候再翻看。因为这个资料一个主要目的是自己看的,所以写的东西肯定都是自己认真看过的,肯定有理解不深的地方,所以我会一直不断更新改正,也会根据自己理解的深入一步步完善。俗话说“好记性不如烂笔头”,把自己从其他地方学到的东西,再一个字一个字的敲出来,图再重新画一遍,代码再敲一次,对个人提升还是非常有帮助的。
当前行业太卷了,平常工作很忙,下班也很晚了,更新会非常不及时,只能抽空更新整理。
0.2 学习STM32需要具备的知识
(1)C语言:这个是最重要的,如果C语言不会,那建议先学习下C语言再来。我大学学习单片机的时候,编程都是用的汇编语言写的,但现在已经不推荐了,当前主流还是基于C语言来开发。以前大学的时候学完C语言感觉这玩意没啥用,还不如VB能编写一些桌面应用,看得见摸得着的。毕业后进了汽车行业,才知道C语言是多么重要,可以说整个嵌入式领域,C语言就是当之无愧的NO.1,没有之一。STM32的开发都是基于C语言,需要我们有较为扎实的C语言功底。
(2)数电、模电、电路原理: 能懂一些肯定是很有帮助的,以我自己的经历来说,也可以在学习的过程中再对涉及到的知识点进行了解学习。因为大学的时候我学过数电、模电电路原理等课程,还是有一定基础的,但学习过程中很多知识点也忘了,也是又重新补习了一些。
(3)是否要先学习51单片机:个人感觉非常有必要。我们的主要目的还是学习,往往越简单的一些设备的使用越接近最底层的知识。就像我们现在汽车软件的开发,由于工具链过于完备,你可以一年不用敲一个代码就把软件做出来。画画图,开发软件里咣咣一通配置也不需要你写什么代码,软件就做出来了。这样开发效率虽然高,但对个人掌握知识来说并不算一个好事,很多人的认知也就停留在表面,一些东西就不懂所以然。
我们51单片机的开发主要还是通过配置寄存器的方式,STM32再通过这种模式就有点太过复杂了,但本质的原理是一样的。STM32的开发就直接从库函数开始。
(4)学习资料推荐: 野火,正点原子,哔站江协科技的STM32教程都可以。
(5)学习建议:多练习多动手。
|