单片机的应用开发是通过控制单片机内部寄存器实现输入输出完成的。早期的51单片机,因为内部寄存器不是很多,我们可以操作内部寄存器。但随着半导体技术的发展,单片机内部提供的资源越来越多,直接操作寄存器就变得相当麻烦了。这个时候,我们一般会选择使用HAL库开发。
HAL的是英文Hardware Abstraction Layer的缩写,我的理解就是把单片机底层的资源以库函数的方式提供给我们,方便我们操作内部寄存器。
单片机内部的寄存器的命名,虽然也是英文单词的缩写,但是这类缩写实在是太多了,在编程的时候,对使用和理解并不方便。而提供了HAL支持库后,由英文单词组成的函数名,使开发和维护就变得容易了。
虽然使用HAL方便了开发,但作为硬件工程师,研究HAL的内部操作,配合单片机的数据手册,对于理解单片机的工作原理还是非常好的学习方式。