• HK32F030MF4P6 EEPROM例程


     应用场景

    HK32F030MF4P6芯片自带EEPROM,以下是读写存储功能

    #define  HK32F030M_EE_BEGIN    (0x0C000000ul)            
    #define  HK32F030M_EE_END      (0x0C0001C0ul)             
    #define  HK32F030M_EE_SIZE     (448)                    


    /**************************************************************************************************
    * @functioin     ALR_WriteByte
    * @brief         根据指定的偏移地址将数据写入EEPROM
    * @param         address:   要写入数据的目标地址,是基于EEPROM起始地址的偏移量 0<=address< HK32F030M_EE_SIZE
    * @param         data_in:   要写入的数据
    * @return        0 写入失败      1 写入成功
    * @example       ALR_WriteByte(2,0x45);  是将数据写入到HK32F030M_EE_BEGIN+5的地址,如果写入成功则返
    *                回1, 否则返回0
    **************************************************************************************************/
    void ALR_WriteByte(uint32_t address, uint8_t data_in)
    {
        FLASH_Unlock();
        EEPROM_EraseByte(address+HK32F030M_EE_BEGIN);
        EEPROM_ProgramByte(address+HK32F030M_EE_BEGIN, data_in);
        FLASH_Lock();
        
    }

    /**************************************************************************************************
    * @functioin     ALR_ReadByte
    * @brief         根据指定的偏移地址将数据从EEPROM读出
    * @param         address:   要读取数据的目标地址,是基于EEPROM起始地址的偏移量0<=address< HK32F030M_EE_SIZE
    * @param         data_out:  读出数据的缓存变量指针
    * @return        0 读取失败      1 读取成功
    * @example       uint8_t dataR; 
    *                ALR_ReadByte(2,&dataR);  
    *                是将数据从地址HK32F030M_EE_BEGIN+5读出,如果读出成功则返
    *                回1, 否则返回0
    **************************************************************************************************/
    void ALR_ReadByte(uint32_t address,uint8_t *data_out)
    {
        *data_out = (*((uint8_t *)(address + HK32F030M_EE_BEGIN)));
    }

  • 相关阅读:
    pycharm运行YOLOv5 (一)
    电池UN38.3认证测试项目和标准
    二百零一、Flink——Flink配置状态后端运行后报错:Can not create a Path from an empty string
    【Spring 学习系列】Bean 的生命周期之初始化与销毁
    Leetcode刷题解析——串联所有单词的子串
    wireshark使用
    Linux进程的调度
    基于MS16F3211芯片的触摸控制灯的状态变化和亮度控制(11.20)
    配置 MogDB/openGauss 的 grafana 的 dashboard
    每日一练——
  • 原文地址:https://blog.csdn.net/enfang1120/article/details/126175115