请问STM32的HAL库stm32f4xx_hal_msp.c文件函数HAL_MspInit有什么作用

2019-07-14 18:32发布

tica, SimSun, sans-serif">STM32的HAL库中有个stm32f4xx_hal_msp.c文件,在该文件里面的函数HAL_MspInit有什么作用
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
horayte
1楼-- · 2019-07-15 21:23
 精彩回答 2  元偷偷看……
horayte
2楼-- · 2019-07-16 02:20
bin548
3楼-- · 2019-07-16 03:40
你我然后 发表于 2018-8-16 06:57
MSP是指和MCU相关的初始化,举个例子就可以理解:
比如串口的初始化
1、我们要初始化和MCU无关的东西:例如串口协议,其中包括波特率,奇偶校验,停止位等等,这些设置和使用什么样的MCU没有任何关系,可以使用F1的MCU,也可以是F2...F4,甚至是PC上的串口。所以就把串口抽像成为一个“串口”。

谢谢你精彩的回复!

不知道 哪里有关于STM32 HAL 库框架的说明。

如果用DMA 进行串口传输,那么第一步是怎样,第二步应该怎样~~~~~

另外你说
“ 在STM32的HAL驱动中MSP_Init()是做为回调,包含在PPP_Init()中的。”

但是我用Cube 生成了基本工程,添加了DMA和UART1 的外设。
看了HAL_UART_MspInit  没有在工程中被调用到!!!!你所谓的回调 具体是在哪里呢?

main () 进来之后
HAL_Init();  --======》里做了两件事   HAL_InitTick(TICK_INT_PRIORITY); 和 HAL_MspInit();

而 HAL_MspInit(); ======》
HAL_NVIC_SetPriority(SVC_IRQn, 0, 0);
HAL_NVIC_SetPriority(PendSV_IRQn, 0, 0);
HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);

就没有调用HAL_UART_MspInit


而HAL_Init(); 之后 也就是 所谓的MX_PPP_Init()
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_USART1_UART_Init();

这些函数里面也没有调用到HAL_UART_MspInit

所以你说的回调,具体是怎么个回调法?
shinovo
4楼-- · 2019-07-16 05:00
资料有限,没理清楚这个库的结构是怎样的
iyfhnvbn
5楼-- · 2019-07-16 10:00
bin548 发表于 2018-8-16 10:09
谢谢你精彩的回复!

不知道 哪里有关于STM32 HAL 库框架的说明。

去看看工程启动顺序以及.s文件
twtgffwer
6楼-- · 2019-07-16 14:30
 精彩回答 2  元偷偷看……

一周热门 更多>