【发布时间】:2016-09-27 14:18:40
【问题描述】:
我想知道HAL_xxx_MspInit() 回调中的缩写“MSP”代表什么。我在一些固件驱动程序中看到了这一点,比如 ST 的 HAL 库。
例如:
void HAL_UART_MspInit(UART_HandleTypeDef *huart);
void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi);
来自stm32f3xx_hal_uart.h 和stm32f3xx_hal_spi.h。我想知道Msp 指的是什么。它只是驱动程序中init 函数回调的命名约定,还是有更深层次的含义(我怀疑它有)。
【问题讨论】:
-
ST 论坛难道不是询问他们的命名约定的合适场所吗?(无论如何不要使用那种垃圾 STLib,它很笨拙、不灵活并且会膨胀你的没有任何实际好处的代码。)
-
我没有广泛使用它。只是为了快速让一些东西在我的开发板上运行。我问 SO 的原因是我相信我也从其他供应商那里看到过。我主要想知道是否有任何理由为我自己的驱动程序开发采用这样的约定。
-
作为个人说明:STlib 命名约定 - 嗯 - 不常见。通常以全大写开头的名称是宏和枚举常量。所以,不,你不应该采用它,这没什么特别的。
-
谢谢,这回答了我的问题。
-
严格来说它们不是回调 - 它们在构建时被直接调用并完全解析,而不是通过在运行时分配的指针调用。
标签: c embedded driver firmware