/*CCS 外部EEPROM 读写函数 for pic 单片机 */
/***************************************************
* Description - 24c02函数 *
* Author - www.029huayi.com 西安化易测控 *
* Date - 2007-12-06 21:07:23 *
* *************************************************/
#ifndef EEPROM_SDA
#define EEPROM_SDA PIN_B1
#define EEPROM_SCL PIN_B0
#endif
#define EPROM_SIZE 256
#define CMD_RD 0xA0
#define CMD_WR 0xA1
#use i2c(master,sda=EEPROM_SDA, scl=EEPROM_SCL)
/*
* === FUNCTION ======================================================================
* Name: InitEep
* Description: 初始化EEPROM
* =====================================================================================
*/
void IintEep(void)
{
output_low(eeprom_scl);
output_high(eeprom_sda);
}
/*
* === FUNCTION ======================================================================
* Name: WriteEep
* Description: 写EEPORM
* =====================================================================================
*/
void WriteEep(
int8 address, /* 写入地址 */
int8 data /* 写入数据 */
)
{
i2c_start();
i2c_write(CMD_RD);
i2c_write(address);
i2c_write(data);
i2c_stop();
delay_ms(11);
}
/*
* === FUNCTION ======================================================================
* Name: ReadEep
* Description: 读出数据
* Input: address 读出数据
* Return: 读出数据
* =====================================================================================
*/
int8 ReadEep(int8 address)
{
int8 data;
i2c_start();
i2c_write(CMD_RD); /* 发送地址 */
i2c_write(address);
i2c_start();
i2c_write(CMD_WR); /* 读出数据 */
data = i2c_read(0);
i2c_stop();
return (data);
}
//代码的编辑与HTML的由GVIM生成