Altera_Forum
Honored Contributor
10 years agoI2C 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); }