RGB LED Ansteuerung über mehrere Kanäle

Gast #322491
Lesenswert?
• ▲
▼
Hallo alle miteinander!

Bin noch ein richtiger Atmel-Beginner und am experementieren mit RGB
LEDs.
Hab schon unzählige Übungsprogramme (einfache Blinklichter, Lauflicht,
usw.) geschrieben und komme einfach auf keinen grünen Zweig wenn ich 9
verschiedene PWMs für 9 verschiedene LEDs programmieren will(Assembler,
nicht C oder Bascom).
Ich benütze einen Atmega8 und möchte über 9 verschiedene Kanäle die
LEDs (d.h. 3 RGB-Module) ansteuern ("PWMen").
Meine Frage: ist das mit dem Atmega8 (nur 3 Timer!) per SoftwarePWM
überhaupt möglich? Und wenn ja, wie geht das?!?!
Hab schon ziemlich lange im Internet gesucht, aber es gibt anscheinend
niemand der klip und klar sagen kann wie das zu realisieren ist!?
Bin wirklich für jede Hilfestellung dankbar!!

MFG
Claudio
Gast #322492
Lesenswert?
• ▲
▼
Du Suchst dir 9 Output-Ports aus, die du per Software-PWM ansteuern
möchtest. Dann brauchst du für jeden der Ports ein Compare-Register, in
das du den Wert schreibst, wann der Port ein bzw. aus geschaltet wird.
Diesen Wert vergleichst du immer mit einem Counter-Register, welches du
bei jedem Timer-Overflow incrementierst und schaltest den entsprechenden
Port bei erreichen des Wertes und sobald der Counter von 0xFF auf 0x00
wechselt.
Wo ist das Problem?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.