网站建设中界面模板下载,wordpress弹出式广告,wordpress 手机 菜单,沃航科技网站开发使用cubeMX生成的HAL库函数中#xff0c;所有外设的初始化函数HAL_xxx_Init(xxxHandle)中都存在有此调用函数HAL_xxx_MspInit(xxx)#xff0c;此调用函数其实是对各外设模块比如UART#xff0c;I2C等控制器使用的的底层硬件进行初始化#xff0c;包括时钟#xff0c;… 使用cubeMX生成的HAL库函数中所有外设的初始化函数HAL_xxx_Init(xxxHandle)中都存在有此调用函数HAL_xxx_MspInit(xxx)此调用函数其实是对各外设模块比如UARTI2C等控制器使用的的底层硬件进行初始化包括时钟以及用到的GPIO以及中断NVIC的配置即初始化配置各外设的底层硬件。
以串口模块为例
一 以下为串口模块句柄结构体赋值函数最后会引用HAL_UART_Init(UartHandle)函数将赋值给结构体句柄的参数写入串口寄存器进行配置 二 以下为HAL_UART_Init(UartHandle)函数内部结构绿色部分为将赋值给结构体句柄的参数向串口寄存器进行写入的最终实现语句而红色语句HAL_UART_MspInit(huart)函数出现在配置串口寄存器之前 三 以下为HAL_UART_MspInit(huart)函数的内部结构有下图可以看出是对UART相关的时钟以及GPIO进行配置的过程以及NVIC配置也就是串口底层硬件配置。