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...
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!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.