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

嵌入式学习笔记 - HAL_xxx_MspInit(xxx);函数

 使用cubeMX生成的HAL库函数中,所有外设的初始化函数HAL_xxx_Init(&xxxHandle)中都存在有此调用函数,此调用函数其实是对各外设模块比如UART,I2C等的底层硬件初始化,包括UART时钟,以及UART用到的GPIO的工作模式以及GPIO的相应的时钟,以及串口NVIC的配置,即初始化配置各外设的底层硬件

以串口模块为例:

一  以下为串口模块句柄结构体赋值函数,最后会引用HAL_UART_Init(&UartHandle)函数将赋值给结构体句柄的参数写入串口寄存器进行配置:

二 以下为HAL_UART_Init(&UartHandle)函数内部结构,绿色部分为将赋值给结构体句柄的参数向串口寄存器进行写入的最终实现语句,而红色语句HAL_UART_MspInit(huart)函数出现在配置串口寄存器之前

三 以下为HAL_UART_MspInit(huart)函数的内部结构,有下图可以看出,是对UART相关的时钟以及GPIO进行配置的过程,以及NVIC配置,也就是串口底层硬件配置

http://www.dtcms.com/a/156643.html

相关文章:

  • Prometheus、Zabbix和Nagios针对100个节点的部署设计架构图
  • Python基于Django的全国二手房可视化分析系统【附源码】
  • 2025第十六届蓝桥杯大赛(软件赛)网络安全赛 Writeup
  • 推荐三款GitHub上高星开源的音乐搜索平台
  • proxychains4系统代理for linux(加速国内github下载速度,pip安装)
  • Arm GICv3中断处理模型解析
  • Linux网络编程 原始套接字与ARP协议深度解析——从数据包构造到欺骗攻防
  • browser-use:AI驱动的浏览器自动化工具使用指南
  • 二叉树的遍历(深度优先搜索)
  • 基于AI技术的高速公路交通引流系统设计与应用研究
  • 05-GPIO原理
  • Bolsig+超详细使用教程
  • toCharArray作用
  • Java知识日常巩固(五)
  • 【torch\huggingface默认下载路径修改】.cache/torch/ 或 .cache/huggingface
  • 【C到Java的深度跃迁:从指针到对象,从过程到生态】第四模块·Java特性专精 —— 第十三章 异常处理:超越C错误码的文明时代
  • 【2025 最新前沿 MCP 教程 01】模型上下文协议:AI 领域的 USB-C
  • 支付宝小程序组件与页面构造器使用指南:从页面到组件的正确迁移
  • 第25周:DenseNet+SE-Net实战
  • 抖音集团电商流量实时数仓建设实践
  • 制作一个简单的操作系统10
  • 第R4周:LSTM-火灾温度预测
  • RocketMQ 主题与队列的协同作用解析(既然队列存储在不同的集群中,那要主题有什么用呢?)---管理命令、配置安装(主题、消息、队列与 Broker 的关系解析)
  • java多线程(6.0)
  • 探秘 3D 展厅之卓越优势,解锁沉浸式体验新境界
  • DeepSeek本地部署保姆级教程
  • shell脚本3
  • 【基础IO上】复习C语言文件接口 | 学习系统文件接口 | 认识文件描述符 | Linux系统下,一切皆文件 | 重定向原理
  • OpenAI 最新 o3 集成到 Cursor 和 Cline 工作流程中
  • SIEMENS PLC 程序 GRAPH 程序解读 车型入库