先学标准库还是HAL库?及学习流程

1个回答

写回答

15317869597

2026-02-18 02:55

+ 关注

半导体
半导体

很难说应该先学习哪个库,毕竟每个人的学习习惯不一样。下面我简单讲讲这两种库的差别,这样你就能依据自己的习惯去选择了。要注意,不要把这两个库对立起来看,学习其中一个对学习另一个是有帮助的,多学一些技能总是好的。标准库是意法半导体(ST)最早提供的库文件,所以在网络上能找到更多的学习资料。目前,绝大多数基于stm32开发的项目都是使用标准库编写的。不过,标准库文件存在移植性较差的问题,不同型号的芯片都有与之对应的库。并且,现在ST已经不再对标准库进行更新了,所以未来HAL库的使用比例可能会逐渐增加。(但是这个未来什么时候到来还不好说,现在就说标准库已经没用了,这种说法有点过头了。)HAL库是ST公司目前重点推广的开发库,它和STMCube软件一起推出,这个软件支持图形化编程。HAL库的优点是移植性强,不同型号芯片之间的开发差异较小,学习成本比较低,开发起来也更方便,但相应地,它的效率可能会稍低一些。不管怎样,作为公司主推的项目,它应该代表着新的发展趋势。总结如果你想要更多的学习资料和示例程序,那么可以先学习标准库;要是你想紧跟潮流并且勇于开拓新领域,那么可以先学习HAL库。如果条件允许的话,最好把两个库都学习一下。接下来再讲讲学习流程,我把学习内容大致分成几个层次,并列举一些练习项目:一、基础层次(GPIO、时钟树、中断)1. GPIO:GPIO作为基础的输入输出接口,是所有操作的基础,通过它能够了解基础的电路知识和代码操作。2. 时钟树:这里强调的是时钟树,而不是定时器,重点是指系统定时器SysTick。3. 中断:我个人觉得中断是单片机的核心部分,很多操作都是通过中断来实现的。掌握了基础层次的内容后,你就已经掌握了开发的核心工具,后续的内容都是建立在这个基础之上的。基础层次推荐的项目是:按键点灯。不要以为点灯只是一个入门级的简单操作,如何实现点灯,点亮什么样的灯,点灯后灯的效果如何等等,这些都是值得去探究的,这就是所谓的从小处能看到大的道理。二、中级层次(通讯方式、定时器、ADC)1. 通讯方式:主要是各种通讯协议及其实现方式,有线的通讯方式像串口、SPI、I2C,无线的通讯方式像蓝牙、Wi - Fi。2. 定时器:在PWM输出、波形生成以及其他涉及到时序的地方都会用到定时器。3. ADC:模数转换和数模转换,这样就不再局限于电信号,我们的目标是整个物理世界。达到这个层次基本上就涵盖了学校竞赛中的绝大部分内容,你就可以去参加各种比赛了。推荐的项目是:小车。不管是巡路小车、擂台小车还是其他类型的小车都可以,四旋翼飞行器也行,总之是包含电机控制、传感器数据处理、通信功能(比如遥控)这三部分内容的项目就可以。三、高级层次(显示屏、摄像头、内存管理)

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号