STM32G474xx HAL用户手册
宏定义
FLASH导出宏
FLASH

用于控制FLASH功能的宏更多...

宏定义

#define __HAL_FLASH_SET_LATENCY(__LATENCY__)   MODIFY_REG(FLASH->ACR, FLASH_ACR_LATENCY, (__LATENCY__))
 设置FLASH延迟。
#define __HAL_FLASH_GET_LATENCY()   READ_BIT(FLASH->ACR, FLASH_ACR_LATENCY)
 获取FLASH延迟。
#define __HAL_FLASH_PREFETCH_BUFFER_ENABLE()   SET_BIT(FLASH->ACR, FLASH_ACR_PRFTEN)
 启用FLASH预取缓冲区。
#define __HAL_FLASH_PREFETCH_BUFFER_DISABLE()   CLEAR_BIT(FLASH->ACR, FLASH_ACR_PRFTEN)
 禁用FLASH预取缓冲区。
#define __HAL_FLASH_INSTRUCTION_CACHE_ENABLE()   SET_BIT(FLASH->ACR, FLASH_ACR_ICEN)
 启用FLASH指令缓存。
#define __HAL_FLASH_INSTRUCTION_CACHE_DISABLE()   CLEAR_BIT(FLASH->ACR, FLASH_ACR_ICEN)
 禁用FLASH指令缓存。
#define __HAL_FLASH_DATA_CACHE_ENABLE()   SET_BIT(FLASH->ACR, FLASH_ACR_DCEN)
 启用FLASH数据缓存。
#define __HAL_FLASH_DATA_CACHE_DISABLE()   CLEAR_BIT(FLASH->ACR, FLASH_ACR_DCEN)
 禁用FLASH数据缓存。
#define __HAL_FLASH_INSTRUCTION_CACHE_RESET()
 复位FLASH指令缓存。
#define __HAL_FLASH_DATA_CACHE_RESET()
 复位FLASH数据缓存。
#define __HAL_FLASH_POWER_DOWN_ENABLE()
 在低功耗运行模式下启用FLASH断电。
#define __HAL_FLASH_POWER_DOWN_DISABLE()
 在低功耗运行模式下禁用FLASH断电。
#define __HAL_FLASH_SLEEP_POWERDOWN_ENABLE()   SET_BIT(FLASH->ACR, FLASH_ACR_SLEEP_PD)
 在低功耗睡眠模式下启用FLASH断电。
#define __HAL_FLASH_SLEEP_POWERDOWN_DISABLE()   CLEAR_BIT(FLASH->ACR, FLASH_ACR_SLEEP_PD)
 在低功耗睡眠模式下禁用FLASH断电。

详细说明

用于控制FLASH功能的宏


宏定义文档

#define __HAL_FLASH_DATA_CACHE_DISABLE ( )    CLEAR_BIT(FLASH->ACR, FLASH_ACR_DCEN)

禁用FLASH数据缓存。

返回值:

定义于文件 stm32g4xx_hal_flash.h 的第 649 行。

被以下函数引用:HAL_FLASH_Program()HAL_FLASH_Program_IT()HAL_FLASHEx_Erase()HAL_FLASHEx_Erase_IT()HAL_FLASHEx_OB_DBankConfig()HAL_Init()

#define __HAL_FLASH_DATA_CACHE_ENABLE ( )    SET_BIT(FLASH->ACR, FLASH_ACR_DCEN)

启用FLASH数据缓存。

返回值:

定义于文件 stm32g4xx_hal_flash.h 的第 643 行。

被以下函数引用:FLASH_FlushCaches()

值:
do { SET_BIT(FLASH->ACR, FLASH_ACR_DCRST);   \
                                                     CLEAR_BIT(FLASH->ACR, FLASH_ACR_DCRST); \
                                                   } while (0)

复位FLASH数据缓存。

注意:
此函数必须在数据缓存禁用时使用。
返回值:

定义于文件 stm32g4xx_hal_flash.h 的第 665 行。

被以下函数引用:FLASH_FlushCaches()HAL_FLASHEx_OB_DBankConfig()

#define __HAL_FLASH_GET_LATENCY ( )    READ_BIT(FLASH->ACR, FLASH_ACR_LATENCY)

获取FLASH延迟。

返回值:
FLASH_Latency.该参数可为以下值之一:
  • FLASH_LATENCY_0: FLASH 零等待状态
  • FLASH_LATENCY_1: FLASH 一等待状态
  • FLASH_LATENCY_2: FLASH 二等待状态
  • FLASH_LATENCY_3: FLASH 三等待状态
  • FLASH_LATENCY_4: FLASH 四等待状态
  • FLASH_LATENCY_5: FLASH 五等待状态
  • FLASH_LATENCY_6: FLASH 六等待状态
  • FLASH_LATENCY_7: FLASH 七等待状态
  • FLASH_LATENCY_8: FLASH 八等待状态
  • FLASH_LATENCY_9: FLASH 九等待状态
  • FLASH_LATENCY_10: FLASH 十等待状态
  • FLASH_LATENCY_11: FLASH 十一等待状态
  • FLASH_LATENCY_12: FLASH 十二等待状态
  • FLASH_LATENCY_13: FLASH 十三等待状态
  • FLASH_LATENCY_14: FLASH 十四等待状态
  • FLASH_LATENCY_15: FLASH 十五等待状态

定义于文件 stm32g4xx_hal_flash.h 的第 613 行。

被以下函数引用:HAL_RCC_ClockConfig()HAL_RCC_GetClockConfig()

#define __HAL_FLASH_INSTRUCTION_CACHE_DISABLE ( )    CLEAR_BIT(FLASH->ACR, FLASH_ACR_ICEN)

禁用FLASH指令缓存。

返回值:

定义于文件 stm32g4xx_hal_flash.h 的第 637 行。

被以下函数引用:FLASH_FlushCaches()HAL_FLASHEx_OB_DBankConfig()HAL_Init()

#define __HAL_FLASH_INSTRUCTION_CACHE_ENABLE ( )    SET_BIT(FLASH->ACR, FLASH_ACR_ICEN)

启用FLASH指令缓存。

返回值:

定义于文件 stm32g4xx_hal_flash.h 的第 631 行。

被以下函数引用:FLASH_FlushCaches()

值:
do { SET_BIT(FLASH->ACR, FLASH_ACR_ICRST);   \
                                                     CLEAR_BIT(FLASH->ACR, FLASH_ACR_ICRST); \
                                                   } while (0)

复位FLASH指令缓存。

注意:
此函数必须在指令缓存禁用时使用。
返回值:

定义于文件 stm32g4xx_hal_flash.h 的第 656 行。

被以下函数引用:FLASH_FlushCaches()HAL_FLASHEx_OB_DBankConfig()

值:
do { WRITE_REG(FLASH->PDKEYR, FLASH_PDKEY1); \
                                                     WRITE_REG(FLASH->PDKEYR, FLASH_PDKEY2); \
                                                     CLEAR_BIT(FLASH->ACR, FLASH_ACR_RUN_PD); \
                                                   } while (0)

在低功耗运行模式下禁用FLASH断电。

注意:
将此位写为0时,密钥会自动丢失,需要新的解锁序列才能将其重新写为1。

定义于文件 stm32g4xx_hal_flash.h 的第 684 行。

被以下函数引用:HAL_FLASHEx_DisableRunPowerDown()

值:
do { WRITE_REG(FLASH->PDKEYR, FLASH_PDKEY1); \
                                                     WRITE_REG(FLASH->PDKEYR,