Forum: Mikrocontroller und Digitale Elektronik TLC5947 SPI-Kommunikation


von Christian K. (christiankarle)


Angehängte Dateien:

Lesenswert?

Hallo liebe Community,

ich sitze jetzt schon mehrere Stunden vor meinem Computer und versuche 
mit dem TLC über SPI zu kommunizieren. Dies funktioniert leider nicht.

Der TLC5947 und der ATmega16 sind korrekt miteinander verbunden.

Aus dem Datenblatt des TLC5947 wird man leider nicht richtig schlau, was 
die Abfolge von BLANK und XLAT angeht...

Könnte bitte mal Jemand über den Code schauen? Ich komme gerade echt 
nicht weiter. Hab gerade ein Brett vorm Kopf...

P.s: Der Code soll erst einmal nur 288 High-Bits an den TLC senden.

von Dirk (Gast)


Lesenswert?

Warum sind hier hinten 3 Ausklammerungen?

SPDR = x.Channel01;
          while(!(SPSR & (1<<SPIF)));   <-----------
          i++;

von Christian K. (christiankarle)


Lesenswert?

Dirk schrieb:
> Warum sind hier hinten 3 Ausklammerungen?
>
> SPDR = x.Channel01;
>           while(!(SPSR & (1<<SPIF)));   <-----------
>           i++;

Weil 3 Klammern aufgemacht wurden...

Dann muss ich auch 3 Klammern zumachen.

von Domenik K. (kalum)


Lesenswert?

Christian Karle schrieb:
> Dirk schrieb:
>> Warum sind hier hinten 3 Ausklammerungen?
>>
>> SPDR = x.Channel01;
>>           while(!(SPSR & (1<<SPIF)));   <-----------
>>           i++;
>
> Weil 3 Klammern aufgemacht wurden...
>
> Dann muss ich auch 3 Klammern zumachen.

:D in Amerika würde man sagen... made my day

Hast du dir diesen guide schon einmal angesehen? Erklärt die 
Gegebenheiten sehr gut. Wie taktest du den IC?

von Christian K. (christiankarle)


Lesenswert?

Der Mikrocontroller ist ein ATmega16 und ist getaktet über den internen 
Oszilator und läuft @ 8MHz.

Der SPI-Takt beträgt 1/16* CPU-Takt.

von Christian K. (christiankarle)


Lesenswert?

Weis denn keiner, wo mein Problem liegt?

von dummy (Gast)


Lesenswert?

>Weis denn keiner, wo mein Problem liegt?

PB4 auf Ausgang schalten.

von Christian K. (christiankarle)


Angehängte Dateien:

Lesenswert?

dummy schrieb:
>>Weis denn keiner, wo mein Problem liegt?
>
> PB4 auf Ausgang schalten.


Vielen Dank, Problem gelöst.

Ich stand wohl wirklich etwas auf dem Schlauch, es stand doch praktisch 
alles da :D

von Joe (Gast)


Lesenswert?

Hi,

ich stehe selbst vor dem Problem meinen TLC5947 über einen ATmega328 zum 
Laufen zu bringen.
Warum muss  PB4 auf Ausgang geschaltet werden? Das macht doch keinen 
Sinn, da der Pin PB4 doch gar nicht verwendet wird....verstehe ich 
nicht.

von Mathias O. (m-obi)


Lesenswert?

PB4 ist mit Sicherheit SS. Und der sollte bei Masterbetrieb ein Ausgang 
sein.

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.