WS2812B mit Attiny817 Hardware ansteuern

#5183860
Lesenswert?

Hallo,

im Anhang ist ein Codeschnipsel wie man das WS2812B Protokoll
mit der Hardware des Attiny817 umsetzen kann.

Hardware:
USART im SPI Master Mode
TCB0 im single shot Mode
Event System XCK vom PIN an TCB0 leiten
CCL Das ganze verkleben

Im Code ist es nocht etwas genauer beschrieben.


Vielleicht kann es ja jemand gebrauchen.

Gruß Thomas
Angehängte Dateien:
#5268805
Lesenswert?

Hallo,

im Anhang ist ein Codeschnipsel bei dem ein ATtiny817 als
SPI WS Konverter dient.
Ist vielleicht interessant wenn der ATtiny212 verfügbar ist.

Das ganze wurde mit einem ATMega328P als SPI Master und 240 LED
getestet. Der jitter der durch den asynchronen Start des TCB0
entsteht hatte hier keine Auswirkungen.


Gruß Thomas
Angehängte Dateien:
#5504528
Lesenswert?

Hey, vielen Dank für den Beispielcode!
Ich versuche gerade das Ganze auf einem ATTiny414 umzusetzen.

Wegen der verschieden Pinouts und meinem Boardlayout habe ich ein paar 
Änderungen vorgenommen:

- USART per PORTMUX auf die alternativen Pins gelegt (XCK auf PA3)
- dementsprechend ASYNCCH0 (wg Source von PORTA) statt ASYNCCH1
- LUT1 statt LUT0

allerdings war ich bis jetzt erfolglos, in Einzelnfällen ist hat die 
erste LED grün aufgeleuchtet, was aber eher nach Zufall klingt.

Ein paar Fragen zum Originalcode hätte ich auch noch:
- fehlt nicht eine Zeile um per PORTMUX LUT0-OUT von PA4 auf PB4 zu 
verschieben?
PA4 wird im Code nicht genutzt und PB4 ist als 'LED' kommentiert.
- wozu wird unten im Loop PB4 per Write auf 'PORTB.IN' getoggled?


Im Anhang ist meine aktuelle Version des codes, ich wäre für Hinweise 
sehr dankbar :)
Angehängte Dateien:
#5513244
Lesenswert?

Hallo Sol B,

an PB4 "LED" ist eine normale LED angeschlossen.
Hat nichts mit den WS-LED zu tun.

Ich hab deine Änderungen mit einem 817 getestet.
"USART0.CTRLB = USART_TXEN_bm;" darf nicht aus kommentiert werden.
Nach dieser Änderung hat es funktioniert.

Das Projekt mit dem ich es getestet habe ist im Anhang .

Bei den Fuses muss 16MHz eingestellt sein.

Gruß Thomas
Angehängte Dateien:

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