Witam
chciałbym napisać mały program poszukujący układy na sprzętowym interfeisie TWI w procesorze AVR [m32]. więc napisałem to :
ale kiedy podaje adres slave którego napewno nie ma ,zmienna error nie ulega zmianie ,czemu ?
chciałbym napisać mały program poszukujący układy na sprzętowym interfeisie TWI w procesorze AVR [m32]. więc napisałem to :
unsigned char error ;
void TWI_sla_rw (unsigned char adres, unsigned char rw)
{
TWDR = ((adres<<1) | rw);
TWCR |= _BV(TWINT) | _BV(TWEN);
while (!(TWCR & (1<<TWINT)));{}
if ((TWSR&0xF8)!=0x40) //sprawdzenie odebrania ACK
{
error = 1 ;
}
}ale kiedy podaje adres slave którego napewno nie ma ,zmienna error nie ulega zmianie ,czemu ?
