Hallo, ich möchte gerne dem PIC 16F877 statt einer Slave Adresse mehrere vergeben. In dem Projekt möchte ich mehrere I2C Port-ICs PCF8574 in dem PIC simulieren. Jeder Port des soll eine bestimmte I2C Slave Adresse bekommen. Leider lößt der Interrupt nur aus wenn die einprogrammierte Slave Adresse des PICs mit der Adresse auf dem Bus übereinstimmt, d.h. man kann dem PIC nur eine Adresse vergeben??! Hat Jemand schonmal so etwas gemacht? Es wäre nett wenn ihr mir ein Paar Ideen postet. MfG
Der PIC hört in der Tat nur auf eine Slave Adresse. Man müsste also immer vorher wissen welche als nächste drankommt und diese dann einstellen. Vor einigen Wochen gab es hier schon mal einen Thread zu diesem Thema. Dieter
Bei den AVRs gibt es den ATTiny26 und ATTiny2313. Damit ist sowas möglich, da die nur ein Schieberegister ohne Adreßvergleich haben. Man kriegt also bei jeder Adresse einen Interrupt und muß dann entscheiden, ob man adressiert sein möchte oder nicht. Wichtig ist aber bei jeder Art I2C-Slave mit µC, daß sich der Master auch an die I2C-Norm hält, d.h. den SCL als open-drain treibt und dann darauf lauscht, ob ihn ein anderer auf Low hält (Clock stretching). Peter
Ich bin leider an den PIC gebunden. Vielleicht kennt wer einen PIC der einen interrupt auslöst sobald eine Adresse empfangen wurde. Egal welche. Meine Suche war bisher leider erfolg los. Gruß Vielleicht kann man das Problem auch lösen in dem man die Schnittstelle mit software nachbildet?!
Hi, sicher geht das per Software. Am besten zwei Interrupt on change nutzen und dann per Software auswerten was passiert ist.
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.