Nabend zusammen, nun tauchen im Stundentakt diverse Fragen auf :) Einige kann ich mir selbst beantworten, andere leider nicht. Hier mal ein Zitat aus dem Tutorial: > Der AVR-Pin SS wird sinnvollerweise als RCK benutzt, da er sowieso als > Ausgang geschaltet werden muss, sonst gibt es böse Überaschungen (siehe > Datenblatt "SS Pin Functionality"). Dieser sollte mit einem Widerstand > von 10K nach Masse, während der Start- und Initialisierungsphase, auf L- > Potential gehalten werden. `(SS ist während dieser Zeit noch im Tri- > State und es könnte passieren, dass die zufälligen Daten des > Schieberegisters in das Ausgangslatch übernommen werden) Ich habe eben beim lernen schon bemerkt, das öfters daran angeschlossene LED nach dem Spannung anlegen oder neu programmieren leuchten, obwohl im Programm alles aus sein sollte. Wie kann ich den obigen Hinweis verstehen. Die frage mag vieleicht etwas dumm klingen. Aber im Moment ist alles noch etwas neu und fremd. Die Elektronik Versuche damals in der Lehre waren sturr nach vorgabe (fertige Schaltungen). Dabei hat man eher weniger mit eigener Entwicklung eines Schaltung zu tun gehabt. MFG Stephan
Moin, Stephan W. schrieb: > Wie kann ich den obigen Hinweis verstehen. Naja, es steht doch da :) . Und ein Blick ins Datenblatt ist ja auch oft schon sehr hilfreich... aber ok. Wärend des Programmierens komme ja wild daten an den MOSI und MISO-Pins an. Jetzt stelle man sich vor der SS-Pin (der an RCK hängt) ist im Tristate. Offene Eingänge (TriState) sind immer doof. Da weiß man nie, ob und was für Daten da grad ankommen. Dann würde das Schieberegister u.U. ungewollt Daten auf seinen Ausgängen rausgeben. Darum wird er extern (per Hardware) auf ein festes Potential gelegt. Das steht hier: Stephan W. schrieb: > Dieser sollte mit einem Widerstand >> von 10K nach Masse, während der Start- und Initialisierungsphase, auf L- >> Potential gehalten werden. Nach der Initialisierung schaltest du ihn per Software auf Output und alles ist in Butter. Aber wie gesagt, so (oder so ähnlich...) steht das ja auch im Tutorial und im Datenblatt. Hoffe ein paar Klarheiten konnten beseitigt werden. Kannst du evtl. deine Frage nächstes mal konkreter formulieren? Dann ist das antworten einfacher... :) Gruß
Hallo Joachim, ist im Moment alles noch etwas harte Kost :) Ich habe eben etwas rum probiert. Beim übertragen des Code flackern die LED rum, was sich mit deiner Aussage trifft. Dann habe ich einen 10K an den Eingang des 74HC595 gehängt und wärend dem übertragen flackert es nicht mehr. Was mir da aber nun auffällt, das die zuletzt leuchtenden LED an bleiben, und erst nach dem Initialisieren des µC gelöscht werden. Das soll aber nicht hier Diskutiert werden. Da mach ich mir erst selbst noch mal meine Gedanken, wie ich das ändern kann :) Nun zu dem obigen. Hab ich das richtig verstanden, dass es reicht einen 10K dauerhaft gegen Masse zu halten. Muss man den nicht im normalen Betrieb dann wieder weg schalten? Okay Rechnerisch fließt da ja bei einem 10K sehr wenig Strom gegen Masse. MFG Stephan
Stephan W. schrieb: > Ich habe eben etwas rum probiert. Beim übertragen des Code flackern die > LED rum, was sich mit deiner Aussage trifft. Dann habe ich einen 10K an > den Eingang des 74HC595 gehängt und wärend dem übertragen flackert es > nicht mehr. Ach jetzt hab ich dich verstanden. Die LED hängen am Schieberegister! > Was mir da aber nun auffällt, das die zuletzt leuchtenden > LED an bleiben, logisch. Das SR weiß ja nichts davon, dass du ein neues Programm reinschiebst. Also zeigt es weiterhin seinen Inhalt an. > Das soll aber nicht hier Diskutiert werden. Da mach ich mir erst selbst > noch mal meine Gedanken, wie ich das ändern kann :) Tip: Das 595 hat einen Pin: Output Enable. Mit dem kann man dem SR die Ausgänge abschalten. > Nun zu dem obigen. Hab ich das richtig verstanden, dass es reicht einen > 10K dauerhaft gegen Masse zu halten. Ja. Das Problem war ja, dass der SR-RCK-Takteingang überhaupt nicht angesteuert wurde. Damit ist das ein offener Eingang, der sich jeden elektromagnetischen Schmutz aus der Umgebung zieht. Die Verbdindung zum µC macht das dann noch schlimmer, den plötzlich hat dieser Eingang dann auch noch eine wunderbare 'Antenne' bekommen. > Muss man den nicht im normalen > Betrieb dann wieder weg schalten? Die 10k sind für den µC keine wirkliche Last. Die treibt der locker mit. > Okay Rechnerisch fließt da ja bei > einem 10K sehr wenig Strom gegen Masse. Genau.
So dann starten wir mal einen Versuch, ob meine Schaltungstechnik Idee so durch geht :) > Tip: Das 595 hat einen Pin: Output Enable. Mit dem kann man dem SR die > Ausgänge abschalten. An dem 74HC595 ist das der PIN 13 (OE). Wenn ich den nun mit einem 10K gegen Vcc verbinde, und dann mit einem Ausgang am µC den gegen Masse ziehe, sollte das ja passen. Man verliert dadurch dann zwar einen Port am µC. Eine bessere Lösung ist mir am im moment noch nicht eingefallen. Aber das kommt alles noch :) Danke noch, für die Hinweise und Hilfen. Muss sagen, das Forum hier ist ***SPITZE*** :) MFG Stephan
Stephan W. schrieb: > An dem 74HC595 ist das der PIN 13 (OE). Wenn ich den nun mit einem 10K > gegen Vcc verbinde, und dann mit einem Ausgang am µC den gegen Masse > ziehe, sollte das ja passen. Man verliert dadurch dann zwar einen Port > am µC. Ich weiß jetzt grad nicht, ob der OE High- oder Low-active ist (Ich glaub low). Aber ja, so könntest du das machen. Ich hab bei mir den externen Pullup weggelassen, weil es bei meiner Anwendung nicht schlimm ist, wenn während des Programmierens die LEDs flackern. Du kannst den Pin auch ganz geschickt an einen deiner PWM-Pins hängen, weil du dann deine LEDs auchnoch dimmen könntest. Natürlich nur alle auf einmal, aber das wäre ja schonmal was :) Gruß
Karl Heinz Buchegger schrieb: > Tip: Das 595 hat einen Pin: Output Enable. Mit dem kann man dem SR die > Ausgänge abschalten. Kann man machen. Aber das kostet natürlich einen Pin. Billiger wird es, wenn man den Reset des 595 nicht auf Vcc, sondern auf den Reset des Controllers legt. Die Ausgänge des 595 sind dann während der Programmierung 0 und über OC-Transistoren angeschlossene LEDs oder Relais sind aus. Ganz nebenbei startet der 595er auch in einem definierten Zustand. mfg.
Thomas Eckmann schrieb: > Ganz nebenbei startet der 595er auch in einem definierten Zustand. Nö, das Ausgangsregister ist zufällig. Der Reset wirkt nur auf das Schieberegister. Peter
Peter Dannegger schrieb: > Nö, das Ausgangsregister ist zufällig. Rückzieher. Der letzte Zusatnd bleibt bestehen. Peter Dannegger schrieb: > Der Reset wirkt nur auf das Schieberegister. Aber das ist ja auch nicht schlecht. mfg.
Thomas Eckmann schrieb: > Peter Dannegger schrieb: >> Der Reset wirkt nur auf das Schieberegister. > Aber das ist ja auch nicht schlecht. Ich finde es vollkommen nutzlos. Es ist doch egal, ob ich 0x00 reinschiebe oder Reset setze, ich brauche in jeden Fall noch eine High-Flanke an RCK, damit der Ausgang gültig wird. Peter
Peter Dannegger schrieb: > Ich finde es vollkommen nutzlos. Schlecht ist es deswegen trotzdem nicht. Aber hauptsächlich geht es darum, daß die Ausgänge beim ISP-Upload nicht rumflattern. Was bei einer LED ja nicht weiter schlimm ist, aber ein Relais nervt dann doch. Und das wird mit dem Reset verhindert. Peter Dannegger schrieb: > ob ich 0x00 reinschiebe Das dauert doch viel länger. mfg.
Thomas Eckmann schrieb: > Aber hauptsächlich geht es darum, daß die Ausgänge beim ISP-Upload nicht > rumflattern. Wie oben ja schon beschrieben, einfach nen Pullup an /OE des 595 und alle Ausgänge sind definiv aus, bis der MC den /OE auf low setzt. Peter
Peter Dannegger schrieb: > bis der MC den /OE auf low setzt. Aber das kostet einen Pin. Und bevor ich ich den Reset disable... Jetzt lass' uns hier nicht endlos über solche Kleinigkeiten diskutieren. mfg.
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.