Forum: Mikrocontroller und Digitale Elektronik ARM + MAX7219


von botro (Gast)


Lesenswert?

Hallo miteinander,
ich bin dabei an mein LPC2148 Board von Olimex den Max7219 über SPI0
anzuschließen. Irgendwie ist das aber ein wenig merkwürdig, da ich zwar
ein Zeichen über die SPI schicken kann, dann aber auf dem Max nichts
angezeigt wird. Schicke ich das Zeichen 2 mal, dann steht es plötzlich
da. Etwas genauer untersucht ergab sich, dass es ausreichend ist, wenn
man mit dem Tastkopf einfach mal den CS des Max antippt, dann wird
plötzlich das Zeichen ausgegeben. Es ist also immer nur das letzte
Zeichen das nicht mehr ausgegeben wird. Schicke ich mehrere
hintereinander, geht es (bis auf das Letzte halt). Die Initialisierung
ist in Ordnung, wenn er den was anzeigt, ist dies richtig.
Hat jemand ne Idee woran das liegt, und vieleicht auch noch nen Tip,
wie man das beheben könnte.

Schönes Wochenende, botro.

von Peter D. (peda)


Lesenswert?

"Etwas genauer untersucht ergab sich, dass es ausreichend ist, wenn man
mit dem Tastkopf einfach mal den CS des Max antippt, dann wird plötzlich
das Zeichen ausgegeben."


Dann hast Du vergessen, den Pin zum CS als Ausgang zu definieren und er
floatet frölich vor sich hin.


Peter

von botro (Gast)


Lesenswert?

Hallo Peter,
danke für die Antwort.

Vergessen habe ich das nicht, aber es hätte durchaus eine Ursache sein
können. Inszwischen geht es übrigens, auch wenn ich mir noch nicht 100%
klar bin wieso. Scheinbar ist der max ein wenig zu langsam, denn wenn
ich nach dem Rausschieben der Bits, nachdem das SPIF-Flag gesetzt
wurde, einen kleinen Moment warte und dann erst CS auf High setzte,
dann werden die Daten ordentlich übernommen. Warte ich nicht, geht es
nicht. Dabei scheint die notwendige Wartezeit nur sehr gering zu sein.
Ich habe eine for-Schleife eingebaut, die aber nur einmal angesprungen
wird, das reicht schon aus. Laut Datenblatt vom max steht da zwar nix
von einer notwendigen Zeit zwischem letzten Bit und CS auf high, aber
nunja, es geht ja jetzt.

gruß botro

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.