📄 eeprom128.c
字号:
#include <iom16v.h>
#include "Eeprom128.h"
//============================================================
//函 数:unsigned char eeprom_read_byte(unsigned long *addr)
//功 能:读取EE一个字节
//入口参数:读取地址
//返 回 值:读取的字节数据
//设 计 者:覃道堂
//创作时间:2006-03-28
//修改时间:
//修改目的:
//============================================================
unsigned char eeprom_read_byte(unsigned int *addr)
{
/* Wait for completion of previous write */
while(EECR & (1<<EEWE));
/* Set up address register */
EEAR = *addr;
/* Start eeprom read by writing EERE */
EECR |= (1<<EERE);
/* Return data from Data Register */
return EEDR;
}
//============================================================
//函 数:void eeprom_write_byte(unsigned long *addr, unsigned char val)
//功 能:写入EE一个字节
//入口参数:写入地址,写入数据
//返 回 值:无
//设 计 者:覃道堂
//创作时间:2006-03-28
//修改时间:
//修改目的:
//============================================================
void eeprom_write_byte(unsigned int *addr, unsigned char val)
{
/* Wait for completion of previous write */
while(EECR & (1<<EEWE));
/* Set up address and Data Registers */
EEAR = *addr;
EEDR = val;
/* Write logical one to EEMWE */
EECR |= (1<<EEMWE);
/* Start eeprom write by setting EEWE */
EECR |= (1<<EEWE);
while(EECR & (1<<EEWE));
}
/*****************************************************************************
*
* Function name : StoreEEPROM
*
* Returns : None
*
* Parameters : Pointer to string, number of bytes to write, adress in EEPROM
*
* Purpose : Write byte(s) to the EEPROM
*
*****************************************************************************/
void Write_EEPROM(unsigned char *pBuffer, unsigned char num_bytes, unsigned int EE_START_ADR)
{
unsigned char i;
for (i=0;i<num_bytes;i++)
{
eeprom_write_byte(&EE_START_ADR, pBuffer[i]);
EE_START_ADR++;
}
}
/*****************************************************************************
*
* Function name : ReadEEPROM
*
* Returns : None
*
* Parameters : Pointer to string, number of bytes to read, adress in EEPROM
*
* Purpose : Write byte(s) to the EEPROM
*
*****************************************************************************/
void Read_EEPROM(unsigned char *pBuffer, unsigned char num_bytes, unsigned int EE_START_ADR)
{
unsigned char i;
for (i=0;i<num_bytes;i++)
{
pBuffer[i]=eeprom_read_byte(&EE_START_ADR);
EE_START_ADR++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -