正在写入STM32L051K8的EEPROM吗?

时间:2019-11-20 07:01:11

标签: c stm32

我正在尝试使用HAL库将数据刷新到EEPROM的{​​{1}}中。此函数不断返回STM32L051K8。通过调试,我发现了问题。

在HAL Flash库中,将数据写入HAL_ERROR之前,它将检查是否设置了EEPROMFLASH_WaitForLastOperation(写保护错误标志)的错误标志。因此它返回FLASH_FLAG_WRPERR,但是HAL_ERROR返回HAL_FLASHEx_DATAEEPROM_Unlock

这是我的职能

HAL_OK

HAL库功能

    HAL_StatusTypeDef setCommAddressState(void){
    HAL_StatusTypeDef status;
    status = HAL_FLASHEx_DATAEEPROM_Unlock();
    if (status != HAL_ERROR)
    {
        status = HAL_FLASHEx_DATAEEPROM_Program(FLASH_TYPEPROGRAMDATA_BYTE, COM_ADDRESS_STATE_ADDRESS, comAddressStateData);
        if (status == HAL_OK){
            comAddressState = comAddressStateData;
        }
    }
    HAL_FLASHEx_DATAEEPROM_Lock();
    return status;
}

0 个答案:

没有答案