Hallo! Weiß jemand von euch, wie ich eine 4x3 Matrixtastatur mit einem PCF574 I/O I²C-Expander abfragen kann, da ich keine normalen Ports mehr frei habe? - ich brauche das ganze in C (WinAVR). Danke scho mal für eure antworten, codes, ideeen, etc. s.T., Max
"ich brauche das ganze in C" Ach, was ich nicht so alles brauche. Aber ich trau mich nicht, rotzfrech nach fertigem Code zu fragen. Ich mache mir immer erst eigene Gedanken und frage dann konkret, wenn es bei irgendeinem Punkt Probleme gibt. Peter
Von Atmel gibts eine App-Note, in der sowas beschrieben ist. Jedoch direkt am Controller. Wenn du das ganze kapiert hast, dann dürfte es kein Problem sein, das für deinen Anwendungsfall umzustricken. Gruß, Florian
Ich finde die neue "Sitte" einfach nur dreist !!!
gg ojee.. ich hab mir schon gedaken zu dem thema gemacht: und zwar wollte ich an einer spalte einen high pegel anlegen und alle zeilen abfragen, und das mit jeder spalte. das problem ist nun, dass ich per I/O Expander die ganzen 8 bit nur als eingan bzw. ausgang schalten kann und nich ein paar pins als eingang und ein paar als ausgang. die frage ist nun, wie ich es trotzdem irgendwie hinbekommen kann oder ob es eine andere technik gibt. mfg Max
Hallo Max, >ich hab mir schon gedaken zu dem thema gemacht: 1. der IC heißt "PCF8574" und nicht "PCF574". >das problem ist nun, dass ich per I/O Expander die >ganzen 8 bit nur als eingan bzw. ausgang schalten kann >und nich ein paar pins als eingang und ein paar als ausgang. Falsch! RTFM !!! Gruß Fiffi
"das problem ist nun, dass ich per I/O Expander die ganzen 8 bit nur als eingan bzw. ausgang schalten kann und nich ein paar pins als eingang und ein paar als ausgang" Wo hast Du denn das her ? Bestimmt nicht aus dem PCF8574 Datenblatt. Peter
Damit könnte man sogar problemlos eine 8x8-Matrix herstellen. Notfalls nimmt man den einen Port als Eingang und den anderen als Ausgang. Nach der AVR240-Application Note (müsste die "wake-up-Key-Matrix" sein) teilt man einen Port in High-Nibble und Low-Nibble. Jeweils eins ist Eingang und eins ist Ausgang. Für die Spaltenabfrage die beispielsweise das H-Nibble als Eingang und das L-Nibble als Ausgang, und für die Zeilenabfrage andersherum. Naja, lesen bildet...
Hallo Max, "ich brauche das ganze in C (WinAVR)." Für mich ist das eine vernünftige Einschränkung, voreilige Unterstellungen wegen unglücklicher Fragestellungen übergehe einfach! Lass Dich bloß nicht von einigen arroganten Leuten davon abhalten Fragen zu stellen! Niemand wird gezwungen sich zu äußern! Richtig dusselig finde ich es, wenn man nach C fragt und chinesisch als Antwort bekommt (habe ich alles schon erlebt). MfG Manfred Glahe
Das Datenblatt des PCF8574 hab ich schon gelesen, aber hab keinen Hinweis darauf gefunden, wie man ein teil des Ports als eingang und einen teil als ausgang definiert. kann mir jemand bitte sagen, wie ich das mache? (bitte um sinnvolle antworten, v.a.v. peter dannegger + Fiffi). Danke schon mal. s.T. max
Ich bin mir zwar sicher, daß das im Datenblatt steht, aber such mal hier im Forum oder bei Google unter dem Stichwort "open collector" bzw. "open drain", was das bedeutet und wozu es gut ist. Das gleiche Prinzip findet nämlich im PCF8574 Anwendung und daher gibt es dort keine Umschaltung zwischen Eingang und Ausgang. Peter
Steht drin: 7.3 Quasi-bidirectional I/Os (see Fig.14) Und hier im Forum hats mal jemand sehr schön ausführlich erklärt. Peter
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.