STM32
直播中

飘逸的D

12年用户 726经验值
私信 关注
[问答]

通过STM32F103的I2C读写24LC024,超过16个以后读回来的地址上的数不对是怎么回事?

通过STM32F103的I2C读写24LC024,现在问题是一次读写16个及以内的数据完全正常 ,超过16个以后读回来的地址上的数不对,想问问读写这种芯片是不是超过16个字节需要分页操作之类的问题?

#define         ADDR_24LC02_Write                 0xA0
#define         ADDR_24LC02_Read                 0xA1
#define         BufferSize                                 20         


if(HAL_I2C_Mem_Write( hi2c2, ADDR_24LC02_Write, 0, I2C_MEMADD_SIZE_8BIT, WriteBuffer, BufferSize, 0x10) == HAL_OK)
{
   HAL_Delay(5);
   memcpy( D_I2c_pre,  D_I2c, BufferSize);
}


回帖(1)

李研

2024-4-18 16:50:22
读取不需要页控制,可以直接读取。写入时,当地址超出当前页时,需要自己重新开始写操作。一次只能写入一页的数据。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分