Forum: Mikrocontroller und Digitale Elektronik MAX7219 bzw. MAX7221 nach einschalten nicht definiert


von tweaker (Gast)


Lesenswert?

Hallo,

hab mehrere MAX7221 kaskadiert. Soweit läuft alles perfekt.
Die MAX7221 und der µC hängen an einem Netzteil.

Nur ein Problem:
Nach dem Einschalten des Netzteils werden die MAX's initialisiert und 
ein Demo-Programm läuft ab. Dies passiert aber nicht immer...
Manchmal leuchten nach dem Einschalten alle LED's und die 
initialisierung funktioniert nicht. Manchmal funktionierten auch nur ein 
paar vereinzelte MAX's nicht.
Laut Datenblatt sollten der MAX7221 nach POR aber alle LED's 
ausschalten.
tut er aber nicht immer.

Wie kann ich das Verhindern?
Pulldown in SPI-Leitungen?

THX

von Karl (Gast)


Lesenswert?

Hast Du die Dinge in der "Application Information" unter dem Punkt 
"Supply Bypassing and Wiring" auf Seite 10 des Datenblatts beachtet? Aus 
eigener Erfahrung kann ich sagen, dass man diese Dinge beachten sollte, 
insbesondere den Elko und die Verbindung der beiden GND-Anschlüsse.

von RS4B5 (Gast)


Lesenswert?

Das kenn ich doch... Hier mal meine Lösung. Habe vor einigen Jahren mal 
einen Beitrag hier reingestellt

4. Nachdem ich dies alles korrigiert hatte lief es immer noch nicht.
Mein Programm bestand darin den Testmode ein, resp- auszuschalten. Das
macht das MÄXCHEN aber nicht. Ich kann von Hand alle LED einschalten
oder ausschalten (mit eigenen Routinen) aber wenn ich mal den Testmode
eingeschaltet habe geht gar nix mehr. Kann ihn auch nicht mehr
abschalten, der MAX hängt sich auf (Sah ich im Debugger). Im Moment
funktioniert alles. Alle Muster die ich programmiert habe laufen,
Helligkeit kann ich verändern, aber der Testmode geht nicht. Ist nicht
tragisch da ich den ja eh nicht benötige, aber da hätte ich noch Stunden
rumsuchen können. Falls bei Euch also mal alle LED leuchten, dann
schickt einfach mal ein Bitmuster, versucht nicht den Testmode
abzuschalten, das hilft nix.


Grüessli

von Peter D. (peda)


Lesenswert?

tweaker schrieb:
> Pulldown in SPI-Leitungen?

Die Leitungen floaten ja, bis die CPU aus dem Reset rauskommt und können 
daher alles mögliche einfangen.

Ein Pullup am /CS sollte aber reichen.


Peter

von tweaker (Gast)


Lesenswert?

Vielen Dank für die Tipps.

Ich hab es nun lösen können.
Ich hab in die Initialisierungs-Routine, zusätzlich den Display-Test 
deaktiviert, und von Shutdown in Normal-Mode gewechselt.

Jetzt startet die Anzeige ab und zu undefiniert, sobald aber die Ini 
durchlaufen ist, ist alles gut.

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
Noch kein Account? Hier anmelden.