77 lines
859 B
C
77 lines
859 B
C
/*
|
|
* at24cxx.c
|
|
*
|
|
* Created on: Mar 3, 2024
|
|
* Author: gxms0
|
|
*/
|
|
#include "at24cxx.h"
|
|
|
|
/**
|
|
|
|
|
|
在这里对eeprom读写操作,根据长度什么的进行操作
|
|
|
|
|
|
*/
|
|
|
|
|
|
uint16_t at24xcc_read(AT24C_ptr ptr,uint16_t reg,uint8_t *data, uint16_t len)
|
|
{
|
|
uint16_t state = 0;
|
|
|
|
state = i2c_read(ptr->i2c, ptr->address, reg, data, len);
|
|
|
|
return state;
|
|
}
|
|
|
|
uint16_t at24xcc_write(AT24C_ptr ptr,uint16_t reg,uint8_t *data, uint16_t len)
|
|
{
|
|
uint16_t state = 0;
|
|
|
|
state = i2c_write(ptr->i2c, ptr->address, reg, data, len);
|
|
|
|
return state;
|
|
}
|
|
|
|
|
|
/* 生成一个,并且有指针 */
|
|
|
|
void at24cxx_init(AT24C_ptr ptr,I2C_ptr i2c,uint16_t address)
|
|
{
|
|
|
|
//AT24C_ptr ptr = (AT24C_ptr)malloc(sizeof(AT24C_t));
|
|
|
|
|
|
ptr->address = address;
|
|
|
|
ptr->i2c = i2c;
|
|
|
|
//读写绑定
|
|
ptr->read = &at24xcc_read;
|
|
ptr->write = &at24xcc_write;
|
|
|
|
//return ptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|