Files
Driver_M24Cxx/examples/adapter_template.c

70 lines
1.8 KiB
C
Raw Permalink Normal View History

#include "Int_EEPROM24xx.h"
/*
* 3
*/
static IntEEPROM_Result_t your_i2c_read(uint16_t dev_addr,
uint32_t mem_addr,
uint8_t mem_addr_size,
uint8_t *buf,
uint16_t len,
uint32_t timeout_ms)
{
(void)dev_addr;
(void)mem_addr;
(void)mem_addr_size;
(void)buf;
(void)len;
(void)timeout_ms;
/* TODO: 替换为你的平台 I2C 读实现 */
return INT_EEPROM_ERR_IO;
}
static IntEEPROM_Result_t your_i2c_write(uint16_t dev_addr,
uint32_t mem_addr,
uint8_t mem_addr_size,
const uint8_t *buf,
uint16_t len,
uint32_t timeout_ms)
{
(void)dev_addr;
(void)mem_addr;
(void)mem_addr_size;
(void)buf;
(void)len;
(void)timeout_ms;
/* TODO: 替换为你的平台 I2C 写实现 */
return INT_EEPROM_ERR_IO;
}
static void your_delay_ms(uint32_t delay_ms)
{
(void)delay_ms;
/* TODO: 替换为你的平台 delay 实现 */
}
void eeprom_example(void)
{
IntEEPROM24xx_Config_t cfg = {
.dev_addr = (0x50u << 1),
.page_size = 8u,
.mem_addr_size = 1u,
.write_cycle_ms = 6u,
.timeout_ms = 100u,
};
uint8_t tx[8] = {1, 2, 3, 4, 5, 6, 7, 8};
uint8_t rx[8] = {0};
if (Int_EEPROM24xx_Init(&cfg, your_i2c_read, your_i2c_write, your_delay_ms) != INT_EEPROM_OK)
{
return;
}
(void)Int_EEPROM24xx_Write(0x00, tx, sizeof(tx));
(void)Int_EEPROM24xx_Read(0x00, rx, sizeof(rx));
}