MEGA16 & MAX5418 per TWI Antwortet nicht

OP #796355
Lesenswert?

Hy

ich möchte mit meinem Mega16 per I2C (TWI) den digitalen Widerstand 
MAX5418 ansteuern. Leider gibt der mit kein "Acknowlegde" zurück!
Ich suche jetzt schon seid einem Tag aber finde keinen Fehler. Pull-Ups 
4,7k sind auf VCC an SCL und SDA.

Das Bauteil hat die Adresse (Bit7-Bit1): 0101000 + (BIT0 für WRITE) 0

TWBR=0x30;                       // Teiler
TWSR =(1<<TWPS1);
DDRC &= ~((1<<PC0) | (1<<PC1)); // Pullup noch mal in Atmel
PORTC |= (1<<PC0) | (1<<PC1);

SLAVEADR=0x28;

TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
while (!(TWCR & (1<<TWINT)));
TWDR = (SLAVEADR<<1) | TW_WRITE;
TWCR = (1<<TWINT) | (1<<TWEN);

Eigenltich sollte das SDA (obere) doch beim letzten SCL auch auf High 
gehen oder?


wenn ich SLAVEADR=0x00; schicke, passiert des so wie auf dem rechten 
Bild...
Angehängte Dateien:
OP #796600
Lesenswert?

kann mir keiner Helfen? Ich wunder mich auch wieso meine Spannung nicht 
bei 5V liegt! Aber habe externe Pull-Ups mit 5V und misst man auch aber 
am Atmel Ausgang sinds nie 5V und die internen Pull-Ups hab ich mit

DDRC &= ~((1<<PC0) | (1<<PC1));
PORTC |= (1<<PC0) | (1<<PC1);

aktiviert. Ist doch richtig so oder ? aber am Oszi ist die Spannung 
dazwischen immer 0V anstatt 5V!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren