ATmega a I2C v Cecku
Libor Kavan
lkavan@krkonose.cz
Pondělí Září 6 09:59:41 CEST 2004
Zdravim,
prosim, muze mi nekdo poradit proc mi nechodi takhle napsane rizeni I2C:
// inicializace I2C
TWBR=0x35;
TWAR=0x00;
TWCR=0x44;
void I2CInit(unsigned char adr)
{
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); // posle startbit
while (!(TWCR & (1<<TWINT))); // ceka na dokonceni
if ((TWSR & 0xF8) != START) { lcd_gotoxy(0,3); lcd_putsf("STA err"); }
TWDR = adr; // HW adresa slave
TWCR = (1<<TWINT) | (1<<TWEN); // posle adresu
while (!(TWCR & (1<<TWINT))); // ceka na dokonceni
if ((TWSR & 0xF8) != MT_SLA_ACK) { lcd_gotoxy(20,3); lcd_putsf("SLA err"); }
}
Je to opsane z datasheetu ATmega16 ale posle to jenom startbit, adresu uz
ne(koukal jsem na to osciloskopem) a napise mi to SLA err
Nevite nekdo prosim jak na to?
Diky moc za radu...
S pozdravem with best regards
-------------------------------------------------------------
Libor Kavan, Dlouha 421, 543 03 Vrchlabi III,Czech republic
Phone & Fax:+420 499 426 232 http://www.techtronex.cz
-------------------------------------------------------------
Další informace o konferenci Hw-list