atmega328p + m74hc595br1 Shift Register

Hallo zusammen,

ich probiere gerade Shift Register aus und bin auf eine Sache gestossen, die ich nicht so verstehe.
Wenn ich den atmega328p zurücksetze ( reset ) reagiert darauf der Shift Register nicht.
Die LEDs am Shift Register bleiben an :astonished:
Jetzt frage ich mich warum ?

Ich habe mich nach diesen Beispielen hier gehalten:

Und festgestellt, daß die PIN Belegung etwas anders ist. Es fehlt "Shift register clear input" SCLR oder sehe ich das falsch ?
Das datasheet von meinen Shift Register habe hieraus entnommen:
http://www.st.com/web/en/resource/technical/document/datasheet/CD00000339.pdf

Wie bekomme ich es hin, daß der Shift Register auch zurückgesetzt wird mit dem atmega328p ?

Danke & Grüsse
Konstantin

Heho.

Eine Antwort wäre von der beschaltung deines Schieberegisters abhängig. Wenn du die also in digitaler Form hast wäre es ganz gut wenn du sie Posten könntest. Grundsätzlich sei jedoch zu sagen das ein 74hc595 im grunde aus 2 Registern besteht. Zum ersten das schieberegister, in welches du die Daten schiebst , und einem output Register. Dieses Register sind die Zustände an den Pins. Wenn du nun Daten in das schieberegister schiebst, dann liegen diese nicht sofort an den Ausgängen an. Dies geschieht erst durch einen kurzen high Impuls am RCK, dem storage Register clock Pin.
Resetest du nun deinen arduino ohne das du neue Daten in das schieberegister schreibst und diese mittels des RCK an das outputregister übernimmst, so passiert am Ausgang des schiebereigsters gar nichts da das storage Register immernoch die Daten hält. Anders sieht es aus wenn du die Reset Pins beschaltet hast und nicht fest auf 5V oder 0V hältst. Aber das kann uns erst dein Schaltplan verraten.

Mfg

Ich sehe keinen Unteschied zwischen den beiden ICs, außer daß die Bezeichnungen der einzelnen Pins anders heißen.

Das Shiftregiste behält den Inhalt solange nichts neues übertragen wird. Du mußt im setup() das Shiftregister löschen (mit 0 bzw 255 beschreiben).

Grüße Uwe

http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf

Das IC hat mit Pin 10 einen "Master Reset" Pin, der Low-aktiv ist. Sowie ich das sehe löscht der aber erst mal nur die internen Speicher-Register. Man braucht danach immer noch einen Puls am Latch-Pin, damit das auf die Ausgangsregister übertragen wird (Seite 5). Das könnte man aber ganz am Anfang in setup() machen.

EDIT:
Die Pin-Bezeichnungen weichen etwas von Firma zu Firma ab (deshalb heißt das woanders "shift register clear"), aber die Funktionalität ist die gleiche. Das NXP Datenblatt ist IMO etwas schöner.

Aha, habe es jetzt verstanden.
Im setup() habe ich mit 0 ( null ) das Register löschen können.
LEDs gehen jetzt aus XD

Danke