我们开始学习HAL库的过程中,一定会发现与固件库开发中外设初始化流程和中断处理机制不相同,在这里将为大家解答一下心中的译文。
HAL外设初始化MSP回调机制
在外设初始化函数中,HAL_PPP_Init();中需配置外设的相关参数,外设用到的IO和NVIC和时钟等放到HAL_PPP_MspInit()回调函数中。初始化函数会自动调用回调函数.


HAL库中断回调机制
HAL库中中断处理机制与固件库中不同,他是经过公共中断处理函数,自动调用中断处理回调函数。用户想要再中断中实现的逻辑代码则要放在回调函数中,而公共中断处理函数会帮你检测是否有中断发生,并帮你清除中断标志位。

HAL_PPP_IRQHandler();公共中断处理函数,它会自动调用中断处理回调函数HAL_PPP_Callback()
用户要写在中断服务处理函数中的逻辑代码要放在回调函数中,公共中断处理函数会帮你清除中断标志,并且自动调用回调函数
在使用HAL库学习时,外设初始化通过HAL_PPP_Init()和HAL_PPP_MspInit()进行,其中回调函数用于配置IO、NVIC和时钟。中断处理采用公共函数HAL_PPP_IRQHandler(),它调用HAL_PPP_Callback()来处理中断事件并清除标志位,用户逻辑应置于回调函数中。
10万+

被折叠的 条评论
为什么被折叠?



