STM32G474xx HAL用户手册
宏定义
FLASH中断宏
FLASH

用于处理FLASH中断的宏 更多...

宏定义

#define __HAL_FLASH_ENABLE_IT(__INTERRUPT__)
 使能指定的FLASH中断。
#define __HAL_FLASH_DISABLE_IT(__INTERRUPT__)
 禁用指定的FLASH中断。
#define __HAL_FLASH_GET_FLAG(__FLAG__)
 检查指定的FLASH标志是否已设置。
#define __HAL_FLASH_CLEAR_FLAG(__FLAG__)
 清除FLASH的待处理标志。

详细说明

用于处理FLASH中断的宏


宏定义文档

#define __HAL_FLASH_CLEAR_FLAG (   __FLAG__)
Value:
do { if(((__FLAG__) & FLASH_FLAG_ECCR_ERRORS) != 0U) { SET_BIT(FLASH->ECCR, ((__FLAG__) & FLASH_FLAG_ECCR_ERRORS)); }\
                                                     if(((__FLAG__) & ~(FLASH_FLAG_ECCR_ERRORS)) != 0U) { WRITE_REG(FLASH->SR, ((__FLAG__) & ~(FLASH_FLAG_ECCR_ERRORS))); }\
                                                   } while (0)

清除FLASH的待处理标志。

参数:
__FLAG__指定要清除的FLASH标志。该参数可以是以下值的任意组合:
  • FLASH_FLAG_EOP: FLASH操作完成标志
  • FLASH_FLAG_OPERR: FLASH操作错误标志
  • FLASH_FLAG_PROGERR: FLASH编程错误标志
  • FLASH_FLAG_WRPERR: FLASH写保护错误标志
  • FLASH_FLAG_PGAERR: FLASH编程对齐错误标志
  • FLASH_FLAG_SIZERR: FLASH大小错误标志
  • FLASH_FLAG_PGSERR: FLASH编程序列错误标志
  • FLASH_FLAG_MISERR: FLASH快速编程数据丢失错误标志
  • FLASH_FLAG_FASTERR: FLASH快速编程错误标志
  • FLASH_FLAG_RDERR: FLASH PCROP读错误标志
  • FLASH_FLAG_OPTVERR: FLASH选项有效性错误标志
  • FLASH_FLAG_ECCC: FLASH在64位LSB中已检测到并纠正了一个ECC错误
  • FLASH_FLAG_ECCD: FLASH在64位LSB中已检测到两个ECC错误
  • FLASH_FLAG_ECCC2(*): FLASH在64位MSB中已检测到并纠正了一个ECC错误(仅128位模式)
  • FLASH_FLAG_ECCD2(*): FLASH在64位MSB中已检测到两个ECC错误(仅128位模式)
  • FLASH_FLAG_SR_ERRORS: FLASH所有SR错误标志
  • FLASH_FLAG_ECCR_ERRORS: FLASH所有ECCR错误标志
注意:
(*) 可用性取决于设备
返回值:

定义于文件 stm32g4xx_hal_flash.h789 行。

被以下函数引用:FLASH_WaitForLastOperation()HAL_FLASH_IRQHandler()

#define __HAL_FLASH_DISABLE_IT (   __INTERRUPT__)
Value:
do { if(((__INTERRUPT__) & FLASH_IT_ECCC) != 0U) { CLEAR_BIT(FLASH->ECCR, FLASH_ECCR_ECCIE); }\
                                                     if(((__INTERRUPT__) & (~FLASH_IT_ECCC)) != 0U) { CLEAR_BIT(FLASH->CR, ((__INTERRUPT__) & (~FLASH_IT_ECCC))); }\
                                                   } while (0)

禁用指定的FLASH中断。

参数:
__INTERRUPT__FLASH中断 该参数可以是以下值的任意组合:
  • FLASH_IT_EOP: FLASH操作完成中断
  • FLASH_IT_OPERR: 错误中断
  • FLASH_IT_RDERR: PCROP读错误中断
  • FLASH_IT_ECCC: ECC纠正中断
返回值:

定义于文件 stm32g4xx_hal_flash.h734 行。

被以下函数引用:HAL_FLASH_IRQHandler()

#define __HAL_FLASH_ENABLE_IT (   __INTERRUPT__)
Value:
do { if(((__INTERRUPT__) & FLASH_IT_ECCC) != 0U) { SET_BIT(FLASH->ECCR, FLASH_ECCR_ECCIE); }\
                                                     if(((__INTERRUPT__) & (~FLASH_IT_ECCC)) != 0U) { SET_BIT(FLASH->CR, ((__INTERRUPT__) & (~FLASH_IT_ECCC))); }\
                                                   } while (0)

使能指定的FLASH中断。

参数:
__INTERRUPT__FLASH中断 该参数可以是以下值的任意组合:
  • FLASH_IT_EOP: FLASH操作完成中断
  • FLASH_IT_OPERR: 错误中断
  • FLASH_IT_RDERR: PCROP读错误中断
  • FLASH_IT_ECCC: ECC纠正中断
返回值:

定义于文件 stm32g4xx_hal_flash.h720 行。

被以下函数引用:HAL_FLASH_Program_IT()HAL_FLASHEx_Erase_IT()

#define __HAL_FLASH_GET_FLAG (   __FLAG__)
Value:
((((__FLAG__) & FLASH_FLAG_ECCR_ERRORS) != 0U) ? \
                                                 (READ_BIT(FLASH->ECCR, (__FLAG__)) == (__FLAG__)) : \
                                                 (READ_BIT(FLASH->SR,   (__FLAG__)) == (__FLAG__)))

检查指定的FLASH标志是否已设置。

参数:
__FLAG__指定要检查的FLASH标志。该参数可以是以下值之一:
  • FLASH_FLAG_EOP: FLASH操作完成标志
  • FLASH_FLAG_OPERR: FLASH操作错误标志
  • FLASH_FLAG_PROGERR: FLASH编程错误标志
  • FLASH_FLAG_WRPERR: FLASH写保护错误标志
  • FLASH_FLAG_PGAERR: FLASH编程对齐错误标志
  • FLASH_FLAG_SIZERR: FLASH大小错误标志
  • FLASH_FLAG_PGSERR: FLASH编程序列错误标志
  • FLASH_FLAG_MISERR: FLASH快速编程数据丢失错误标志
  • FLASH_FLAG_FASTERR: FLASH快速编程错误标志
  • FLASH_FLAG_RDERR: FLASH PCROP读错误标志
  • FLASH_FLAG_OPTVERR: FLASH选项有效性错误标志
  • FLASH_FLAG_BSY: FLASH写/擦除操作进行中标志
  • FLASH_FLAG_ECCC: FLASH在64位LSB中已检测到并纠正了一个ECC错误
  • FLASH_FLAG_ECCD: FLASH在64位LSB中已检测到两个ECC错误
  • FLASH_FLAG_ECCC2(*): FLASH在64位MSB中已检测到并纠正了一个ECC错误(仅128位模式)
  • FLASH_FLAG_ECCD2(*): FLASH在64位MSB中已检测到两个ECC错误(仅128位模式)
注意:
(*) 可用性取决于设备
返回值:
FLASH_FLAG的新状态(SET或RESET)。

定义于文件 stm32g4xx_hal_flash.h761 行。

被以下函数引用:FLASH_WaitForLastOperation()HAL_FLASH_IRQHandler()HAL_FLASHEx_OB_DBankConfig()