【关于MX_XX_Init与HAL_XX_MspInit的调用关系】
MX_YY_Init
主要是对具体功能的参数进行配置,如串口的数据位、停止位、校验位等
HAL_XX_MspInit
是对具体引脚的配置,如pin, mode, speed等
在MX_YY_Init
运行过程中,会运行到HAL_XX_Init(&ZZ)
,这时候会自动调用HAL_XX_MspInit
,因此在调用HAL库写程序时,MX_YY_Init
可以随便(名称设置可以以功能说明优先),但是HAL_XX_Init
和HAL_XX_MspInit
都是HAL库官方的,名称不可以随意更改。
【关于使用CubeMX移植他人代码应该有的xx但就是找不到的报错】
在调用特定的功能函数时,除了配置引脚与功能参数,还有很重要的一点是在cubemx中把对应的功能开关开开,不然利用cubemx生成的代码中不包含对应的官方库,比如stm32xx_hal_spi.c
,代码就一定会报错了,要是出现矛盾,把mx自动生成的对应.c
文件注释即可