当前位置: 首页 > article >正文

HAL库中MSP回调--HAL_PPP_MspInit()与中断回调--HAL_PPP_Callback()的区别及一些学习见解

MSP回调

MSP回调是指与MCU相关的初始化回调函数,这些函数通常在HAL库的外设初始化函数中被调用,主要用于配置与MCU相关的外设资源,如GPIO、NVIC(嵌套向量中断控制器)和时钟等。在HAL库中,MSP回调通常以HAL_PPP_MspInit()的形式存在,其中PPP代表外设的名称(如UART、I2C等)。这些函数通常被定义为弱函数(带有__weak关键字),以便用户可以根据自己的需求进行重写。

MSP回调在外设初始化时被调用,即在HAL_PPP_Init()函数中调用HAL_PPP_MspInit()。

中断回调

中断回调是指当中断发生时,被调用的函数。该函数用于处理中断,并执行相应的中断服务程序,如接收数据、发送数据、定时器溢出等。在HAL库中,中断回调通常以HAL_PPP_Callback()的形式存在。这些函数可由用户自己定义,用于处理中断。

中断回调在中断发生时被调用。当外设产生中断时,相应的共用中断处理函数如HAL_PPP_IRQHandler()会被触发,该函数会进一步调用一系列HAL_PPP_Callback()中断回调函数来处理中断,用户可根据不同的回调函数类型,编写对应的中断处理程序。

6717389b83344f7cb426ca22ee56b574.png

总结

MSP回调与中断回调可用以下方式加以区分,首先它们的目的不同:MSP回调主要用于配置与MCU相关的外设资源,而中断回调则用于处理中断事件;同时它们的调用时机不同:MSP回调在外设初始化时就会被调用,而中断回调在中断发生时才被调用。

 

 


http://www.kler.cn/a/401388.html

相关文章:

  • 【时时三省】(C语言基础)字符分类函数目录
  • 独立开发:一人公司模式下副业产品的全流程
  • React Native 全栈开发实战班 - 打包发布之热更新
  • 【EasyExcel】复杂导出操作-自定义颜色样式等(版本3.1.x)
  • 后仿真中的GLS测试用例的选取规则
  • 力扣第 55 题 跳跃游戏
  • Java基础夯实——2.4 线程的生命周期
  • FastDDS之DataSharing
  • Odoo中,要实现实时数据推送,SSE 与 WebSocket 该如何选择
  • 利用python 检测当前目录下的所有PDF 并转化为png 格式
  • 无人机侦察打击方案(1)
  • React渲染和更新机制及其核心内容详解
  • ChatGPT-o1快速完成论文选题的9类提示词
  • ggplot2-scale_x_continuous()
  • 【面试】前端vue项目架构详细描述
  • 一文详解架构分层
  • Photoshop(PS)——人像磨皮
  • 并发专题(1)之深入理解并发、线程与等待通知机制
  • 24. 两两交换链表中的节点
  • 行列式的理解与计算:线性代数中的核心概念
  • 浅谈python
  • AI新闻周刊 | 最新AI资讯速递(11.11-11.17)
  • SMARTFORMS函数调用完整示例:打印工厂物料信息
  • 建造者模式(Builder Pattern)
  • 数字后端零基础入门系列 | Innovus零基础LAB学习Day11(Function ECO流程)
  • [控制理论]—位置式PID与增量式PID