Moin Moin, kann sich jemand mal die beiliegende ( tolles Wort.. ) Bibliothek anschauen, ich werde das Gefühl nicht los, dass irgendwas vergessen wurde. Leider kann ich aktuell nicht wirklich damit "I2C" sprechen. Mit meiner Hardware Variante hingegen ohne Probleme. Habe vor mir ein Testboard mit einer LED die eigentlich leuchten sollte ( wie gesagt, mit dem Hardware Interface klappt alles ). SCL & SDA schalten auch hin und her ( bei der Software Variante.. ) Vill. sieht ja jemand direkt was?!
Irgendwelche unbekannten Fehler in irgendwelcher unbekannte Software eines anderen, ebenso unbekannten Autors zu suchen, ist schon sehr masochistisch. Dazu noch ohne das Programm, was bei dir nicht funktioniert. Wer sollte sich das freiwillig antun? Oliver
Oliver S. schrieb: > Wer sollte sich das freiwillig antun? Finden sich immer ein paar die das mögen, auch wenn die Software noch so schräg daherkommt. Mir tut schon der Prozessor leid der dauernd bei jedem Pippifax-Zugriff sich einen Pointer erst zusammenrechnen muss.
Soft Leser schrieb: > Oliver S. schrieb: >> Wer sollte sich das freiwillig antun? > > Finden sich immer ein paar die das mögen, auch wenn die > Software noch so schräg daherkommt. > > Mir tut schon der Prozessor leid der dauernd bei jedem > Pippifax-Zugriff sich einen Pointer erst zusammenrechnen muss. Ich bin nicht perfekt die Software auch nicht. Ich bin dabei was zu lernen. Ist der Zeiger zugriff, deutlich aufwendiger als alles andere?
Jan H. schrieb: > kann sich jemand mal die beiliegende ( tolles Wort.. ) Bibliothek > anschauen, ich werde das Gefühl nicht los, dass irgendwas vergessen > wurde. Kannste unbesehen wegwerfen. Wenn ich den Code richtig verstehe konfiguriert die Lib als Erstes die Portpins auf Ausgang und High - was man bei I²C niemals tun darf, denn nur die Pullups dürfen den Bus nach "oben" ziehen. Das dann auch niemand nachschaut ob die Pins überhaupt den erwarteten Pegel haben, fällt danach nicht mehr ins Gewicht. Stichwort: Clock Stretching. Wenn man beim AVR Soft I²C machen will, setzt man die Port Bits auf 0 und steuert den Ausgang mit dem DDR Register: Eine 1 setzt das I²C Signal auf 0 (null) und eine 0 via externem Pullup auf high.
Jim M. schrieb: > Wenn man beim AVR Soft I²C machen will, setzt man die Port Bits auf 0 > und steuert den Ausgang mit dem DDR Register: Eine 1 setzt das I²C > Signal auf 0 (null) und eine 0 via externem Pullup auf high. Das heißt ich definiere die Ausgänge mit dem DDRx auf Eingang also lösche die jeweiligen Bits. Dann steure ich die Pins komplett mit dem DDRx Bits, wie Du schon beschrieben hattest. Das habe ich noch nicht gewusst. Wieder etwas neues gelernt ;)
> Das habe ich noch nicht gewusst. Wieder etwas neues gelernt ;)
Spätestens JETZT solltest Du Dir mal die Dokumentation zum IIC
durchlesen und verstehen - dabei lernt man nämlich am meisten!
Gruß
TK
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.