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