为什么学习STM32 STM32在大陆生态良好,学习参考资料丰富,很多公司都在用它开发产品。 如何系统地入门学习STM32呢?假如你用过51单片机,那么恭喜你,再学习STM32会容易很多。如果之前没接触过51,那也不用理会,直接学习STM32也行。 可以用STM32实现什么?为什么使用STM32而不是8051? 相对于STM32来说,51的频率太低、管脚太少、没有众多的外设IO、功耗太大、功能太弱、内存太小。 需要使用SPI、I2C、ADC、DMA,需要使用STM32某些功能,而51实现不了的时候, 那么就需要学习STM32在这些方面的使用方法。比如SPI协议、串口通信、RTOS等。 获取STM32基础知识 假定你已经对STM32有一定的理解。如不理解,请立即阅读我之前发的STM32入门系列文章,以获取最基本的知识点。 英文好的同学,请不要以为你很牛,可以只看英文文档。毕竟你是中国人,你最熟悉的,理解最好的还是中文。看英文的速度还是比看中文慢一些,我们要的是最短的时间,而不是追求短时间内记住所有细节。 STM32处理器进入国内市场时候,ST官方(或者第三方)的推广工作做得非常好。翻译了大量的英文文档,迎合了国内的很多工程师的思维。当然,如果是一篇论文,建议看英文原版还是有好处的。 针对有充足的时间、精力的同学,建议去下载需要查阅的文档,以获取更多信息。学习过程中,建议多关注两个比较重要的文档:《STM32F103xxx参考手册》,《STM32固件库使用手册》。**您能从中获取大量的STM32基础知识。 阅读《STM32F103xxx参考手册》,一定要注意,不需要全部阅读——没有时间的。建议选读,但是前几章必读。存储器和总线架构、电源控制、备份寄存器、复位和时钟控制,通用和复用功能I/O,中断和时间等等前几章一定要花时间阅读。后面章节,讲述的是具体的功能模块设计。如果我们用到哪个模块,就可以去阅读哪个模块。比如在使用AD的时候,就需要去阅读第10章ADC。其他不举例。相信每个初学者都有自己的研究方向和判断。 阅读《STM32固件库使用手册》,主要是为了简化编程。阅读《STM32固件库使用手册》的时候,前面几章也是必须阅读的。比如第一章文档和库规范中的命名规则,编码规则,这些都是需要注意的。第二章是最关键的,描述了固件库的架构,如何去使用固件库的步骤等。有了第二章的基础,我们就可以借助固件库写出自己的代码了。第四章开始之后,就可以根据大家的需要来阅读。实际上,后续的章节,都是描述某个模块有什么什么函数,每个函数如何使用等。建议对GPIO库函数、中断部分库函数、复位和时钟设置的库函数要比较熟悉,因为平时经常会用到。 STM32给我们提供了一个非常好的固件函数库,我们只要去调用即可。当然,我们也可以不去碰这些固件库——传说使用它会使得代码效率变低,是有道理的。网络上也出现了很多网友自己写的代码,没有使用带固件库函数。如何取舍,在于您的选择。 为了执行起来更有效率,设定一个两周入门计划吧。 这里所谓的“入门”,指的是能理解并掌握一些常用的STM32外设,真正想掌握一款处理器,两周根本说明不了什么问题。只能说,你已经有所了解了。但是,这对我们初学者来说已经足够了。 这里所谓的“两周”,根据每个人的基础以及时间安排不同而异。 如果您每天有充足的时间学习,那么可以规定自己尽快地能独立地进行简单的STM32开发。如果您每天只有业余时间来学习STM32,建议根据您的具体情况安排时间。毕竟计划时间如果安排太紧,反而收不到良好的效果,只能进入恶性循环,这是我们要避免的。 但是建议,不管您有无充足的时间,都必须给自己做一个计划!
|