Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21611 Discussions

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

Altera_Forum
Honored Contributor II
1,402 Views

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); 

 

 

}
0 Kudos
0 Replies
Reply