Hello,
I am using Atmega4809 controller to communicate slave device using TWI interfacing.
But getting error in clearing TWI_WIF flag after writing slave address.
uint8_t TWI_start(uint8_t deviceAddr)
{
if ((TWI0.MSTATUS & TWI_BUSSTATE_gm) != TWI_BUSSTATE_BUSY_gc)
{
TWI0.MCTRLB &= ~(1 << TWI_ACKACT_bp);
TWI0.MADDR = deviceAddr ;
if (deviceAddr&0x01)
{
while(!(TWI0.MSTATUS & TWI_RIF_bm));
}
else
{
while(!(TWI0.MSTATUS & TWI_WIF_bm));
}
return 0;
}
else return 1;
}
This is my master write function where code is getting halted at "while(!(TWI0.MSTATUS & TWI_WIF_bm)); "
Can you please help me to debug the issue..?
Regards,
Ekta