MX_UART4_Init为STM32CubeMX软件按图形配置生成的初始化函数,其内部首先是按图形配置界面为串口句柄UART_HandleTypeDef结构体内的.Init成员结构体成员变量(主要是串口通信的一些参数)赋值。然后就是调用HAL_UART_Init函数初始化UART4,参数为串口句柄指针&huart4。HAL_UART_Init函数是HAL库提供的串口初始化函数,其内部调用了HAL_UART_MspInit函数,这个函数是在HAL库中定义的一个弱函数,在STM32CubeMX生成的用户文件usart.c中有对这个函数进行重写,其主要实现的是针对具体型号MCU串口硬件层面的一些初始化:对UART4的TX、RX引脚的IO口配置,DMA相关配置,中断配置。
具体代码参考ODrive-fw-v0.5.1中的usart.c