Moin, hab mich mal mit SPI beschäftigt und nen Schieberegister angeklemmt. Controller: mega16 Schieberegister: Mos 4094 (DB im Anhang) Aufgabenstellung:Es sind 4 LED's angeschlossen und 2 sollen leuchten. Problem: Die richtigen 2 leuchten zwar, aber ganz zu Anfang, sobald der Mikrocontroller Strom hat, Leuchten die ersten 3 LED's (nichtmal 1 Sekunde) Ich würde jetzt sagen das liegt daran, das die Bits "durchgeschoben" werden und schon gleich aktiv sind. Hab gedacht man kann das mit "Output Enable" aktivieren aber dem ist anscheind nicht so. Da die Bezeichnung der Pins vom Schieberegister anders ist, als alles was ich in dem Zusammenhang gefunden hab musste ich erstmal noch einer "Übersetzung" suchen. Kann sein das da der Fehler liegt. Die Beschaltung ist auch im Anhang zu finden + Quellcode. Wäre nett wenn mir jemand helfen könnte ;).
Könnte mir dann vielleicht jemand ne richtige "Übersetzung" der Pins am schieberegister geben ?
Ja du musst ja auch ein CS signal anklemmen. Erst werden die Daten reingeschoben und dann das CS sIgnal von low auf high gesetzt dann werden die daten übernommen
Ah danke. Endlich mal was konstruktives. Dachte "Output Enable" wäre für CS, kein wunder das es nicht geklappt hat. Werd mal testen und mich wieder melden wenn noch was ist ;).
Also ich hab jetz "Strobe" vom Schieberegister an PortA vom Mikrocontroller gelegt & Outputenable weggenommen (Quellcode bleibt). Allerdings hab ich das selbe Problem wie vorher. Bei Stromzuführung Leuchten die ersten 3 Led's und kurz danach halt nur die 1 & 3, so wie es sein soll. Es ist aber natürlich sehr von nachteil wenn ganz zu Anfang Pins auf high liegen die noch nicht sein sollen. Hoffe mir kann jemand helfen, ist echt dringend ;).
Ich hab jetzt mal nen Warteschleife eingebaut, dass der Eigentliche Prozess (Bits ins Register schieben & ausgeben) erst ein paar Sekunden nach Stromzufuhr beginnt. Nun leuchten die LED's sobald Strom kommt "faden" aus und kurz darauf leuchten dann die 1 & 3. Ich versteh einfach nicht warum zu Anfang alle LED's leuchten. P.S. es leuchten alle 4 LED's zum Anfang nicht nur 3, bei der letzten war nen Wackelkontakt deswegen blieb sie bis jetzt immer aus ;).
Du musst den OE enable eingang auf defeniertes aus potential mit pull up oder pll down legen dann geht das auch
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.