打印
[其它]

c语言写合泰单片机eeprom,合泰单片机EEPROM编程实例

[复制链接]
581|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
妇女半边天|  楼主 | 2022-5-16 17:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 werasd 于 2022-5-25 15:08 编辑

以下为合泰单片机EEPROM编程实例,基本上适用于大部分合泰的MCU

.C文件

/***********************************************************

**   Function : fun_eeprom_Write

**   INPUT    : lu8v_addr;lu8v_data

**   OUTPUT   : none

**   NOTE     : none

***********************************************************/

void fun_eeprom_Write(u8 lu8v_addr, u8 lu8v_data)

{

_eea = lu8v_addr;

_eed = lu8v_data;

#if(mac_eeprom_type == mac_eeprom_Short)

_bp     = 1;

_mp1    = 0x40;

_iar1  |= 0x08;

_iar1  |= 0x04;

while(_iar1 & 0x04);

_iar1        &=        0xf7;                                //disable WREN

_bp     = 0;

#endif

//============================================================

#if(mac_eeprom_type == mac_eeprom_Long)

_mp1l = 0x40;

_mp1h = 1;

_iar1        |=        0x8;                                //enable WREN

_iar1        |=        0x4;                                //active write

while(_iar1 & 0x04);                //wait write end

_iar1        &=        0xf7;                                //disable WREN

#endif

}

/***********************************************************

**   Function : fun_eeprom_Read

**   INPUT    : lu8v_addr

**   OUTPUT   : lu8v_eeprom_byte

**   NOTE     : none

***********************************************************/

u8 fun_eeprom_Read(u8 lu8v_addr)

{

u8 lu8v_eeprom_byte;

_eea = lu8v_addr;

#if(mac_eeprom_type == mac_eeprom_Short)

_bp     = 1;

_mp1    = 0x40;

_iar1  |= 0x02;

_iar1  |= 0x01;

while(_iar1 & 0x01);

lu8v_eeprom_byte = _eed;

_iar1  &= 0xfd;

#endif

//============================================================

#if(mac_eeprom_type == mac_eeprom_Long)

_mp1l = 0x40;

_mp1h = 1;

_iar1 |=0x2;                                //enable RDEN

_iar1 |=0x1;                                //active READ

while(_iar1 & 0x01);                //wait read end

lu8v_eeprom_byte = _eed;

_iar1 &=        0xfD;                                //disable RDEN

#endif

return lu8v_eeprom_byte;

}

.h文件

#ifndef _eeprom_h_

#define _eeprom_h_

/********************************************************************

NOTE:無需修改

********************************************************************/

#define        mac_eeprom_Long                1

#define        mac_eeprom_Short        0

#define mac_eeprom_type                mac_Eeprom_Short

/********************************************************************

Function:

********************************************************************/

void fun_eeprom_Write(u8 lu8v_addr, u8 lu8v_data);

u8 fun_eeprom_Read(u8 lu8v_addr);

#endif


使用特权

评论回复

相关帖子

沙发
u1011| | 2022-5-16 17:59 | 只看该作者
楼主不要灌水啊,这里是HT32论坛,您的描述不成立。

使用特权

评论回复
板凳
海滨消消| | 2022-5-19 16:25 | 只看该作者
写的啥啊

使用特权

评论回复
地板
andygirl| | 2022-5-19 20:45 | 只看该作者
怎么还都是下划线

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

78

主题

124

帖子

0

粉丝