HAL库 MspInit()函数相关说明

HAL_xxx_MspInit() 函数是HAL库中的一个回调函数,它会被对应的HAL_xxx_Init() 函数调用,是一个弱函数,它的作用是存放GPIO、CLOCK、NVIC、DMA等外设的初始化代码。

例如,用STM32CubeMX配置TIM生成的代码:

HAL库 MspInit()函数相关说明_第1张图片

正点原子基本定时器HAL库例程代码: 

HAL库 MspInit()函数相关说明_第2张图片

两者类比起来看。


Msp:MCU Specific Package,即MCU特定程序包,也称MCU具体方案

HAL_xxx_MspInit() 函数作用:

①存放外设使用到的GPIO、CLOCK、NVIC、DMA等外设的初始化(驱动)代码。

②针对具体的MCU型号的某个功能进行硬件初始化。

使用HAL_xxx_MspInit()函数,为了把MCU型号中某个功能硬件初始化的代码独立出来,方便移植。

这样的设计是将不变的东西以库函数HAL_PPP/PPPP_Init的形式固定下来; 

而将特定芯片(根据不同MCU进行编写)的部分抽象成函数HAL_PPP/PPPP_MspInit的形式。


本篇完。

本人博客仅代表个人见解方便记录成长笔记。

若有不足,请指出,感谢您的阅读!

你可能感兴趣的:(stm32,嵌入式硬件,单片机,学习)