
本科
我
本科所在的竞赛实验室参加电赛时只使用HAL库。其学习路径大致是这样的:首先学习外设知识,像定时器、AD、DA、GPIO、串口等,要把它们的常规控制、DMA控制以及中断控制都学习一遍,把基础夯实,到了大二就能够参加比赛了。接着,依据竞赛的方向,具体地学习和练习一些项目。例如参加控制类竞赛,就练习小车和摆的项目;参加飞机类竞赛,就组队做
无人机项目;参加模电类竞赛,就练习DDS、FFT等内容,这是大三阶段的任务。在大三到大四期间,深入研读STM32的芯片手册,探究HAL库的库函数是如何实现的,尝试直接操作库函数,弄明白库函数每一步的作用。STM32只是一种工具。无论是参加比赛还是未来做毕业设计,都会用到多种芯片和开发环境。能够认识到这一点,分解项目需求并选用合适的实现方式才是最为关键的。其他回答中提到写HAL库需要图形化设置,这其实是一种错误的观念。HAL库和标准库一样,都是对寄存器操作的封装,只不过HAL库的封装层数更多一些。实际上完全可以手写初始化代码,而不采用图形化设置,熟练的话很多时候我们会直接写寄存器。要记住,参加比赛时只要能实现目标就行,不要被形式所束缚。比如电赛题目中有要扫条形码的,最让人惊叹的方案可能不是用摄像头做图像识别,而很可能是直接使用扫码枪的方案,这就开创了新的思路。如果有小问题可以私信我,不需要付费咨询,欢迎大家提问。