Здравствуйте! Пытаюсь реализовать связь между МК Atmega164P и микросхемой PCF8535 c помощью TWI интерфейса. На ножке часов A0 высокий уровень. Не могу прочитать байты из часов. Что не так? Текст проги следующий:
TWCR=(1<<TWEN)|(1<<TWINT)|(1<<TWSTA)|(1<<TWEA); (add_sl-байт адреса часов (равен 1), add-адрес читаемого байта в часах) while (!(TWCR&(1<<TWINT)));
TWDR=(add_sl<<1); TWCR=(1<<TWEN)|(1<<TWINT)|(1<<TWEA); while (!(TWCR&(1<<TWINT)));
TWDR=add; TWCR=(1<<TWEN)|(1<<TWINT)|(1<<TWEA); while (!(TWCR&(1<<TWINT))); TWDR=(add_sl<<1)|1;
TWCR=(1<<TWEN)|(1<<TWINT)|(1<<TWEA); while (!(TWCR&(1<<TWINT)));
TWCR=(1<<TWEN)|(1<<TWINT)|(1<<TWEA); while (!(TWCR&(1<<TWINT)));
time=TWDR; TWCR=(1<<TWEN)|(1<<TWINT); while (!(TWCR&(1<<TWINT)));
TWCR=(1<<TWEN)|(1<<TWINT)|(1<<TWSTO)|(1<<TWEA);
Заранее спасибо
Сообщение отредактировал KIG - Jan 2 2009, 19:36
|