ATmega88P: WordClock Matrix mit SPI ansteuern

OP #2228125
Lesenswert?

Hallo,
ich habe mir eine WordClock(1) gebaut und versuche sie zu programmieren.
Weil ich etwas dazulernen will, programmiere ich sie in ASM. Zum flashen 
benutze ich avrdude mit Burn o'Mat. Das ganze läuft dann auf die 
WordClock Platine via ISP.
Da ich normalerweise den ATmega8 verwende, hab ich erstmal das Programm 
für den m8 geschrieben.
Dann musste ich feststellen, dass der m88 passender ist weil er mir für 
meine RGB-LED's hardware PWM bereitstellt...   und wollte auf den m88 
wechseln.
Also hab ich alles umgeschrieben (naja soviel wars nicht..) und brings 
seitdem nicht mehr hin.

Unten findet sich der Schaltplan(2) der WordClock, bei dem man nur 
wissen muss, dass am ATmega8/88P drei Schieberegister hängen.

Mein Programm besteht aus vorläufig zwei Dateien, einmal das 
Hauptprogramm;
das andere sind die Unterprogramme für die Schieberegister.

Was ist das Problem?
Das Problem ist, dass das Programm funzt, wenn der ATmega8 verbaut ist;
Beim ATmega88P kann ich die ersten drei Bits jedes Schieberegisters 
nicht richtig ansprechen: Wenn ich an alle Schieberegister 0x00 schicke, 
erhalte ich beim 1. Schieberegister 0x01, beim 2. 0x02 und beim 3. 
0x04!?

Natürlich tausche ich jedesmal die Definitionsfiles in der ersten Zeile 
des Hauptprogramms

mfg julian

Links:
1.http://www.mikrocontroller.net/articles/Word_Clock_Variante_1
2.http://www.mikrocontroller.net/wikifiles/3/35/Wordclock-schmal-schaltung.png
Angehängte Dateien:
OP #2228396
Lesenswert?

*Problem gelöst!*

Wenn man den GANZEN Tag nach der Lösung sucht, dann findet man sie auch.

Mein Tipp, für alle die SPI auf dem ATmega8 programmiert haben und's auf 
den ATmega88P umschreiben:
Schaut euch die Bits CPOL u. CPHA im SPCR an, was auf dem einen lief 
(m8: Cpol=0; Cpha=0) ist auf dem anderem ganz anders(m88p: Cpol=0; 
Cpha=1)

julian

*Problem gelöst!*

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren