Forum: Mikrocontroller und Digitale Elektronik I²C Bus bei AT90CAN128 mit PCF8566


von Walter740 (Gast)


Lesenswert?

hallo zusammen!

also ich bin gerade bei der kommunikation zwischen AT90 und dem Philips 
PCF8566 mittels I²C-Bus...

ja jetzt würde ich gerne mal irgendetwas auf das display senden damit 
ich mal sehe ob es prinzipiell funktioniert...
allerdings habe ich ein problem...

100kHz für TWI

ich habe eine start funktion geschrieben:

void LTwi::start(BYTE adress)
{
  TWCR |= (1<<TWINT | 1<<TWSTA);   // send Start condition
  while (!(TWCR & (1<<TWINT)));

  if((TWSR & 0xF8) != START)
    ASSERT(false);

  TWDR = adress;
  TWCR |= 1<<TWINT;
  while(!(TWCR & (1<<TWINT)));
  if((TWSR & 0xF8) != MT_SLA_ACK)
    ASSERT(false);                     // hier komme ich immer herein 
:-(
}

als BYTE adress hab ich momentan mal 0x7e probiert, aber es kommt immer 
der fehler...

  myTwi.init();
  myTwi.start(0x7e);  // PCF8566 Philips Universal LCD-Treiber
  myTwi.send(0x4c);   // Command-Mode set
  myTwi.stop();

  myTwi.start(0x7c);  // PCF8566 Philips Universal LCD-Treiber
  myTwi.send(0x00);   // Load Datapointer
  myTwi.send(0xff);   // Display-Daten
  myTwi.send(0xff);   // Display-Daten
  myTwi.send(0xff);   // Display-Daten
  myTwi.stop();

kann mir da jemand weiterhelfen?

lg

von Walter740 (Gast)


Lesenswert?

Kann mir da keiner weiterhelfen oder einen tipp geben?

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
Noch kein Account? Hier anmelden.