STM32单片机的性价比和功能很丰富的,应用广泛,学好STM32对就业很有帮助,前景很不错。给初学者提出几点建议。
入手一块适合的开发板
学习单片机就是要学习单片机外设电路的设计、单片机程序的编写以及电子产品开发的流程。而开发板是一个不错的选择,将常用的外设电路都集成到开发板上,方便了学习,厂家还会提供相应的例程和学习资料,省去了自己找资料的过程。
学习硬件电路的设计
拿到开发板首先研究一下硬件电路,对每一个功能模块的外设电路分析一下,在分析的过程中要理解器件的使用,控制方式,如果你做方案会用哪些元器件来实现这个功能。在学习之处可以看的不用太深,但是一定要知道控制原理,后面编程要知道。
学习C语言程序的设计
在初学阶段,要读懂厂家提供的例程,学习单片机的寄存器是什么,学习寄存器是如何工作,如何配置的,要读懂例程是如何通过程序控制硬件的,比如和输出高电平点亮/熄灭LED,如何实现IIC通讯等。程序的实现方式因人而异,所以要抛开例程,自己去编程。
学习产品的设计流程
学习是途径,会做做产品才是最终目的。要懂得如何提出需求,把需求转化成技术方案,要考虑如何选型,如何控制成本,如何提高产品的稳定性等。所以要多多的参与项目、参与产品的研发。
最后必须要说的是,学习单片机一定不要整天抱着书看,而是要多动手。
学习STM32最好方法,就是下载cubemx,然后学习HAL库或者LL库。
问我什么是库?库就是我们用它去实现单片机寄存器的配置,更加容易看得懂。因为这种32位的单片机不像8位机那样,寄存器太多了,不容易记忆的。所以就搞出来库函数。
那么为什么有这么多种库,事实上STM32也就是意法它本来就是想卖芯片,它非常懂中国人需求,想把芯片卖出去,那配套就要又全又好,最好还要简便。
那么,库函数也是人写的,就涉及到一个库函数要不要升级版本的问题?比如解决之前的bug,比如做到兼容下一代产品,等等。
所以经历了从标准库到HAL库再到LL库的演变。HAL与LL库应该不是一帮人写的,它家里技术储备还是很强的。两个库的可读性都很好,个人建议上手HAL库,这个简单一点,网上教程也非常多。
介绍完了这个库,介绍一下HAL的学习,首先你得下载STM32cubemx,然后下载相关库。当然前提是你得有一个开发板,从STMF103c8t6这样48引脚的开发板玩起。然后,你可以在下载的文件里面看到各种范例,STM32牛就牛在,你想到的功能基本上在它给你的例程里面都有现成的,所以,很容易上手。
最后呢,我还想说,这个单片机很强大,但是需要一定的耐心去学习,否则基本上都是半吊子。