STM32F411RE I2C Write/Read an External EEPROM Memory 24LC1025
Hello community :)
I need help using the EEPROM Memory 24LC1025.
I've this address for the 24LC1025 EEPROM ( A0 = 0, A1 = 0 and A2 = 1). And I'm trying to write/read on the data address range 10000h-1FFFFh but I'm not able to, when I try to do anything in this sector it rollovers to the data address range 0000h-FFFFh and I haven't figured out why.
Here's part of my code:
I2C_HandleTypeDef hi2c1;
uint8_t dataread[127];
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_DMA_Init();
MX_I2C1_Init();
MX_USART6_UART_Init();
HAL_I2C_Mem_Read(&hi2c1, 0x54<<1, 0x0000, I2C_MEMADD_SIZE_16BIT, dataread, sizeof(dataread), 1000);
HAL_UART_Transmit(&huart6, dataread, sizeof(dataread), HAL_MAX_DELAY);
while (1)
{
}
}I've modified the Mem_Read function incresing MemAddress from uint16_t to uint32_t because I wasn't able to reach one of the higher addresses.
In the datasheet the method of accesing different blocks of memory or different sectors is by modifying (setting or clearing) a "bit block", is there a way of doing this using the HAL? Where should I look to modify the content of the bytes sent to the I2C device to set or clear the bit block?

