mikrocontroller.net

Forum: Compiler & IDEs SPI über Schieberegister, zu langsam?


Autor: Nix Digges (hankey)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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 ;).

Autor: Nix Digges (hankey)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte mir dann vielleicht jemand ne richtige "Übersetzung" der Pins
am schieberegister geben ?

Autor: micro1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joa, beim 4094 heißt das "Strobe"

Autor: Nix Digges (hankey)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;).

Autor: Nix Digges (hankey)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;).

Autor: Nix Digges (hankey)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;).

Autor: micro1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst den OE enable eingang auf defeniertes aus potential mit pull up
oder pll down legen dann geht das auch

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.