STM32 HAL库 关闭使能FSMC的函数
时间: 2024-05-14 19:18:33 浏览: 164
在STM32 HAL库中,关闭FSMC的函数为`HAL_NOR_MspDeInit()`和`HAL_SRAM_MspDeInit()`,具体使用哪个函数取决于你使用的是NOR Flash还是SRAM。
下面是一个示例代码,演示如何使用HAL库关闭FSMC:
```c
#include "stm32f4xx_hal.h"
void disable_FSMC(void)
{
NOR_HandleTypeDef hnorsram1;
SRAM_HandleTypeDef hsram1;
/* 关闭NOR Flash的FSMC时钟 */
__HAL_RCC_FSMC_CLK_DISABLE();
/* 关闭NOR Flash的GPIO时钟 */
__HAL_RCC_GPIOB_CLK_DISABLE();
__HAL_RCC_GPIOC_CLK_DISABLE();
__HAL_RCC_GPIOD_CLK_DISABLE();
__HAL_RCC_GPIOE_CLK_DISABLE();
__HAL_RCC_GPIOF_CLK_DISABLE();
__HAL_RCC_GPIOG_CLK_DISABLE();
/* 关闭SRAM的FSMC时钟 */
__HAL_RCC_FSMC_CLK_DISABLE();
/* 关闭SRAM的GPIO时钟 */
__HAL_RCC_GPIOB_CLK_DISABLE();
__HAL_RCC_GPIOC_CLK_DISABLE();
__HAL_RCC_GPIOD_CLK_DISABLE();
__HAL_RCC_GPIOE_CLK_DISABLE();
/* 关闭NOR Flash的FSMC使能 */
hnorsram1.Instance = FSMC_NORSRAM_DEVICE;
HAL_NOR_MspDeInit(&hnorsram1);
/* 关闭SRAM的FSMC使能 */
hsram1.Instance = FSMC_NORSRAM_DEVICE;
HAL_SRAM_MspDeInit(&hsram1);
}
```
注意,上面的代码仅适用于使用HAL库配置FSMC的情况。如果你是使用其他方式配置FSMC的,那么关闭FSMC的方法可能会有所不同。
阅读全文