大家好,我是华维麦琪,今天来解决下大家为啥学stm32单片机会一脸懵逼的问题,最近有太多在某乎小伙伴问我!
stm32单片机和51单片机,他们都属于单片机的范围,一个是8位单片机,一个是32单片机,不冲突,后者是前者的知识铺垫
如果你没有学过任何单片机,那么从零基础学STM32也不是没有可能,只是在理解会困难些,出除了那些天赋异禀。学了C语言,大家都知道,纯软件开发PC程序,压根不用了解PC的硬件结构部件的特点。但是开发单片机程序,必须知道单片机的内部结构和功能部件的特点和属性!
STM32
从学习入门的角度而言,初学者往往被STM32复杂而多样的内部结构和功能部件所吓到理从而望而生畏、放弃学习。其实,我觉得,如果这位同学天赋异禀,可以不必完全弄清楚硬件结构和原理后才开始STM32单片机的学习、应用系统的设计与开发。
所以,我一直要求我们华维单片机编程的学员一定要从51开始学起,进行适当的知识铺垫,不要贪快。并不是每个人天赋很好,要稳扎稳打,可能这些人几万分之一!
那么stm32单片机,需要学些什么呢
电路和数字,模拟电路:模拟电路和数字电路属于抽象学科,要把它学好还得费点精神。在你学习之前,觉得模拟电路和数字电路基础不好的话,不要急着学习stm32单片机,应该先回顾所学过的模拟电路和数字电路知识,为学习stm32单片机加强基础。这方面我一般要求学员只要能正确使用电阻,电容等元器件
掌握二极管,三极管基本工作原理,还有一些知识比较细,你们可以来问我!
计算机语言:C语言知识,没有任何编程基础的人都可以学,在我看来,接受过六年基础教育都能学会,当你能使用C语言开发应用系统就行
51单片机:最好是能有8位单片机原理的学习经历和实践经验,像我之前的文章讲到,并不是每个人都是天才,学习51单片机是stm32的预备知识!
实践能力:数字万用表会进行基本的检测,对电路的通断会判断,会使用电烙铁进行焊接等等。
这个就像我们学习编程语言一样的,你熟悉一门语言以后再去学习别的语言会事半功倍。
这位同学是想自学吧,我也是自学而来,但是你会遇到很多问题!
1.学习内容不成体系,盲目学习占多数!
那么问题来了,这位同学估计是想自学,这样学习效率是非常低的,比如说你以为单片机要去深入研究模电,而我告诉你其实根本不用,模电实际很少,而且硬件设计一般是硬件工程师的工作。模拟电路本身就是复杂的学科,别说你刚入门,就是做了单片机开发5年的都未必能学会。所以,即便你高学历,理解能力强,天资聪慧,但是只仅限于理论层面,到实际产品你的知识发挥的作用很有限。当你花了1,2个月时间去研究模电,研究完以后再回到单片机,发现还是很多电路看不懂,这是正常的现象,因为你没对症下药
2.学习过程没人指导
最大的文这个自学者最煎熬的事情,我当初也是自学过来的,有时候一个很简单的问题没人指导。别人说一下可能只要几分钟,而你去解决可能需要几个小时。我也加了很多群问,到论坛去发帖求助,但是也不现实,毕竟不可能每次都有人会帮助你。这个没有什么解决办法,如果你想学得快就只能花钱找人带。
不要什么都想着自学,等人到中年了你会发现,时间太宝贵了,花钱去买别人几年的经验才是最划算的!
最后来说下入门单片机有哪些好的教学视频?
我认为教程多未必是好事,10年前我自学快,除了自身执行力以外,还有就是教程少。
教程多了你反而不知道如何选择,每个教程定位也不同,有些是针对入门的,有些是针对有一定经验的。
如果你是入门的话,可以先看我们自己录制的那套单片机c语言编程。包括单片机模块化编程的进阶我们也有配套系统的教程,这些都是开源的。