This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

I2C EEPROM Interface Issue

I tried to interface a 24LC512 I2C EEPROM with a STM32F103RBT6 microcontroller but no success.

I used the code supplied by ST and is as follows:

#include "i2c_ee.h"

typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus;

#define EEPROM_WriteAddress1    0x05
#define EEPROM_ReadAddress1     0x05
#define BufferSize1             (countof(Tx1_Buffer)-1)
#define BufferSize2             (countof(Tx2_Buffer)-1)
#define EEPROM_WriteAddress2    (EEPROM_WriteAddress1 + BufferSize1)
#define EEPROM_ReadAddress2     (EEPROM_ReadAddress1 + BufferSize1)

#define countof(a) (sizeof(a) / sizeof(*(a)))

u8 Tx1_Buffer[] = "/* STM32F10x I2C Firmware ";
u8 Tx2_Buffer[] = "Library Example */";
u8 Rx1_Buffer[BufferSize1], Rx2_Buffer[BufferSize2];
volatile TestStatus TransferStatus1 = FAILED, TransferStatus2 = FAILED;
ErrorStatus HSEStartUpStatus;

void RCC_Configuration(void);
void NVIC_Configuration(void);
TestStatus Buffercmp(u8* pBuffer1, u8* pBuffer2, u16 BufferLength);

int main(void)
{
        RCC_Configuration();
        NVIC_Configuration();
        2C_EE_Init();
        I2C_EE_BufferWrite(Tx1_Buffer, EEPROM_WriteAddress1, BufferSize1);
        while(1)
        {
        }
}

It never returns from I2C_EE_BufferWrite() function.

Have to say that I have connected A0, A1, A2 and WP pins of 24LC512 chip to GND.

Best Regards

0