哈喽,大家好我是华清远见的老师,大家应该都知道,现在的很多的智能设备中当有STM32的身影,可以说无处不在;从这就可以看出其的应用领域是比较广的、地位也是比较重要,所以今天我们来聊聊如何系统的学习STM32?
不管是学习哪一款MCU,动手实践是必不可少,也是相当重要的一个环节,如果缺少了这一环,学到的东西感觉是懂了,但是在应用中可能处处存在Bug,这个就有点像“纸上谈兵”了。在我们认真的跟着老师或者书籍进行理论性的学习后,我们就要认真、细心的去跟着书籍、笔记把各个模块驱动的代码进行逐一的编写、调试,并且把每一个步骤就记录下来,然后放开书籍,根据自己的总结来进行编写调试,慢慢的我相信你的能力就会有很大的提高。
接下来我们就来看看怎么样一步一步的入门,相信很多人都有这样的意识吧,学一款芯片首先想到的是买一块开发板,对的,没错!巧妇难为无米之炊嘛,这里推荐两本书《C和指针》、《Cortex-M3权威指南》和《STM32库开发实战指南》网上都有PDF版本,结合自己的开发板配套的视频教程,先要理解透彻,然后自己独立去敲一敲,触类旁通,例子上给出的都不会很难,知识的拓展很重要,就是举一反三。还有,不懂得话就多去各大论坛大神虚心请教,论坛里有很多经验帖子值得学习。
现在STM32入门门槛都不高,稍微有点C语言和单片机基础的都能学,有人说:寄存器操作那么复杂难懂,那一堆寄存器名字都记不住,那寄存器开发是不是就不重要了?显然不是,我会说大牛与菜鸟的却别就在这儿?建议:库开发为主,看寄存器是为了理解实现的原理,所以寄存器部分不能丢了。有余力可以深入学习下,这对M3内核的理解很有帮助,以及后面ARM系列芯片的学习都很有帮助。
可能很多人都没有这个习惯,包括当初本人自己,拿到一个课题或者项目的时候,大概写一下流程,就开干,途中遇到很多问题,程序改了又改,从v1.0改到v10.0都还有BUG,究根到底,还是自己学得不够透彻不够扎实,没有一个整体的概念,知识零散杂乱,不成体系。有时候,程序框架、流程都没有错,就因为时钟PLL配置上的冲突,导致一个礼拜BUG找不出来,所以,形成良好的编程习惯、勤写注释、善于总结真的很重要!最好能形成文档,这绝对是最好的经验积累形式!
在此之际,希望大家多动手、多总结、多做项目;只有在项目中才可以知道你那里不扎实、哪里还有漏洞,虽然说做项目是比较苦逼一点,但是这样你可以快速的提高自身的能力。