Hallo, ich habe folgende Hardware (von myAVR): - mySmartUSB MK2 (Atmega328 mit 20MHz Quarz) - mySmartUSB (USB programmer) - myTWI PortExpander mit PCA9555 - Bascom Compiler v2.0.8.0 Das Programm von Stefan Hoffmann bekomme ich nicht zum laufen. - Die I2C-Pins SDA und SCL sind mit PortC.4 und 5 verbunden. - Adresse des Expanderboards ist 000 - Pullup-Widerstände (10k) an SDA und SCL-Pins sind gegen + gesetzt. Mache ich hier einen Fehler...? Besten Dank für Hilfe !
Christoph M. schrieb: > Das Programm von Stefan Hoffmann bekomme ich nicht zum laufen. Wer ist Stefan Hoffmann? > - Adresse des Expanderboards ist 000 Im Programm werden aber 0x40 und 0x41 verwendet. > - Pullup-Widerstände (10k) an SDA und SCL-Pins sind gegen + gesetzt. Kleinere wie 4,7k helfen manchmal. > Mache ich hier einen Fehler...? Nimm dein eigenes Programm.
Christoph M. schrieb: > mySmartUSB MK2 (Atmega328 mit 20MHz Quarz) Dann mußt Du im Quelltext auch diese Werte eintragen. Da steht noch ein Atmega8 mit 1MHz drin. Linus schrieb: >> Das Programm von Stefan Hoffmann bekomme ich nicht zum laufen. > Wer ist Stefan Hoffmann? Schwierig... Wer könnte das sein, wenn sein Name im Quelltext steht? ;) MfG Paul
Paul B. schrieb: > Linus schrieb: >>> Das Programm von Stefan Hoffmann bekomme ich nicht zum laufen. >> Wer ist Stefan Hoffmann? > > Schwierig... > Wer könnte das sein, wenn sein Name im Quelltext steht? > ;) Danke. Eine Antwort von Paul Baumann.
Hallo, zunächst einmal Danke für die Anregungen. Der Name: s. Hoffmann ist Autor des Buches "Einfacher Einstieg in die Elektronik mit ATMEL AVR Mikrocontrollern" ISBN: 9783839184301 Ich hatte ein Beispiel aus diesem Buch genommen, um das I2C-Thema besser zu verstehen. Prinzipiell hast Du Recht damit besser ein eigenes Programm zu nutzen. Aber zum ersten Probieren kann man auch mal abgucken ;-) Ich werde jetzt mal Deine Hinweise beachten und dann schauen wir mal.... Besten Dank noch einmal !
Adressen sind aus meiner Sicht richtig. Hatte mich aber falsch ausgedrückt. Adressen sind Schreibadresse &B01000000 = &H40 Leseadresse. &B01000001 = &H41 Der Controllertyp war fälschlicherweise noch im Text drin. Habe diesen jedoch im Quelltext als m328pdef.dat mit 20MHz drin.
Vornewegs, ich habe mit BASCOM keine praktische Erfahrung. Ich nehme aber an, daß Dein Test Programm lauffähig ist. Vielleicht ist der BASCOM Compiler TWI Bibliothek nicht imstande einen 328 uC richtig zu initialisieren und die TWI Treiber passen nicht. Mit den Erfahrungen die ich sonst mit TWI habe, schlage ich Folgendes vor: 1) Reduziere die Pullups auf 3.3 KOhm; 10K sind zu hoch. 2) wenn Du einen Oszi hast, monitor die SCL und SDA Leitungen. 3) am SCL müßte man nun 9 von Hoch auf nieder gehende Impulse sehen ( Ist im Datenblatt schematisch gezeigt.) Wenn sich überhaupt nichts tut, dann stimmt irgendetwas mit dem Program, bzw. der uC Initialisierung nicht. Kann Dir aber nicht damit helfen weil ich mit BASCOM noch nie gearbeitet habe. Sollte SCL und SDA aktiv sein, dann mußt Du nun untersuchen ob vom PCA9555 ein ACK Antwort im Bereich des 9. clock Impuls kommt. Wenn nicht, reagiert der PCA9555 aus einem noch unbekannten Grund nicht. (auch wenn das jetzt blöd klingt, messe mit dem DMM nach ob die Logik Pegel der A0-2 Anschlüße tatsächlich auf Null gesetzt sind. ) es gilt hier wie immer "Trau, schau, wem". Nimm nichts als gegeben hin. Es gibt DIP Schalter die machen je nach Beschaltung nicht unbedingt "0/1". Null ist manchmal Vdd Pegel. Normalerweise, solange die TWI Treiber und uC Initialisierung stimmt, funktionieren, macht TWI wenig Ärger. Den PCA955x habe ich schon oft in der Arbeit verwendet und haben immer auf Anhieb funktioniert. Hoffe, dass es möglicherweise hilfreich war, Gerhard P.s. Auf welchem uC lief Hoffmanns Schaltung?
:
Bearbeitet durch User
Vielen herzlichen Dank für die umfassende Antwort ! Zum letzten Satz: Hoffmanns schaltung lief auf der gleichen Hardware, allerdings mit einem Atmega 8 mit 1MHz. Ich probiere jetzt erst einmal Deine Ratschlge aus. Danke + Gruss Christoph
Christoph M. schrieb: > Vielen herzlichen Dank für die umfassende Antwort ! > > Zum letzten Satz: Hoffmanns schaltung lief auf der gleichen Hardware, > allerdings mit einem Atmega 8 mit 1MHz. > > Ich probiere jetzt erst einmal Deine Ratschlge aus. > > Danke + Gruss > > Christoph Viel Glück bei der Fehlersuche!
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.