Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
10 years ago

I2C ack not coming from DS3232m SRAM as slave with Altera NIOS2 master

Hi,

I am trying I2C for DS3232m SRAM as slave. I am passing slave address 0xD0 serially on SDA , after that i am not getting ACK (bit 0)from slave. while loop is rotating always.

so , anyone can give me answer ?

This is my ack function

void i2c_ack()

{

/*

scl=0;

sda=1;

scl=1;

while(sda==1);

scl=0;

*/

IOWR(I2C_SCL_BASE, 0x00 ,0);

usleep(1.3);

IOWR_ALTERA_AVALON_PIO_DIRECTION(I2C_SDA_DATA_BASE,1); //direction

IOWR(I2C_SDA_DATA_BASE,0X00 ,1);

usleep(1.3);

IOWR(I2C_SCL_BASE, 0x00 ,1);

IOWR_ALTERA_AVALON_PIO_DIRECTION(I2C_SDA_DATA_BASE,0); //direction

while(IORD(I2C_SDA_DATA_BASE,0X00)==1); //waiting for ack

usleep(1.3);

IOWR(I2C_SCL_BASE, 0x00 ,0);

}
No RepliesBe the first to reply